redis启动和关闭

一、场景:安装完radis 之后,控制redis 的启动 和关闭

二、背景:
默认启动:
redis-server &
或者
redis-server ./redis.conf /* 配置文件redis.conf默认在Redis根目录下*/

默认关闭:redis-cli -p [port] shutdown
redis-cli -p 6379 shutdown
或者
kill -9 PID 也可以关闭 因为 redis 可以处理SIGTERM信号,不过如果配置集群的话,请注意conf中端口的变化

判断
ps -ef |grep redis
netsta -tnlp|grep 6379

三、处理方案:

redis 跟其它的应用两种方式启动:
1、使用系统内置的chkconfig 配置启动和自启动;
2、编写shell 判断其 redis.conf的端口,来执行开始或者关闭

设置启动加班开机自启动
1、启动脚本redis_init_script位于位于Redis的/utils/目录下。
默认为:

#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.

REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli

PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf"

case "$1" in
    start)
        if [ -f $PIDFILE ]
        then
                echo "$PIDFILE exists, process is already running or crashed"
        else
                echo "Starting Redis server..."
                $EXEC $CONF
        fi
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                $CLIEXEC -p $REDISPORT shutdown
                while [ -x /proc/${PID} ]
                do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
    *)
        echo "Please use start or stop as first argument"
        ;;
esac

具体注意如下:

增加shell脚本关键属性

     #!/bin/sh
     #chkconfig : 2345 90 10
     #decription : Redis is start or stop and autostart  for server ,v1.0  ,mcw ,2016-11-07 

2、配置启动脚本
1、修改配置和建立执行目录,需使用root用户。
mkdir /etc/redis
cp ./redis.conf /etc/redis/6379.conf
ps:1、 这里注意下,对应 conf 中关于pid 的生成文件为:/var/run/redis_6379.pid 跟 redis_init_script 中的保持一致
2、启用 daemonize yes
2、将启动脚本复制或者建立链接到 /etc/init.d 下,本实例命为:rdisd
cp ./utils/redis_init_script /etc/init.d/redisd
或者
ln -s /data0/redis-3.0.7/utils/redis_init_script /etc/init.d/redisd

3、设置开机启动
chkconfig redisd on

  启动
   service redisd start
  停止:    
service redisd stop

自己编写shell 也是同理,

    #!/bin/bash
     #decription : Redis is start or stop and autostart  for server ,v1.0  ,mcw ,2016-11-07 
    PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
   testing=$(netstat -tuln |grep ":6379")
   if [ "$testing" != "" ]; then
    echo "Radis is running in your system"
    else
      redis-server   /data0/redis-3.0.7/redis.conf
   fi

你可能感兴趣的:(redis)