redis启动和关闭

来源:互联网 发布:网络写手排行榜2016 编辑:程序博客网 时间:2024/06/17 05:17

一、场景:安装完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=6379EXEC=/usr/local/bin/redis-serverCLIEXEC=/usr/local/bin/redis-cliPIDFILE=/var/run/redis_${REDISPORT}.pidCONF="/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:~/binexport 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
0 0