redis起動と停止

5784 ワード

一、シーン: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は他のアプリケーションと2つの方法で起動します: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/data 0/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