centos redis自動再起動スクリプト


Initスクリプトの構成
Centosにはhttps://gist.github.com/1335694
以下のように修正されました.
##########################  
PATH=/usr/local/bin:/sbin:/usr/bin:/bin  
     
REDISPORT=6379  
EXEC=/usr/local/bin/redis-server  
REDIS_CLI=/usr/local/bin/redis-cli  
     
PIDFILE=/var/run/redis.pid  
CONF="/etc/redis.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  
        if [ "$?"="0" ]   
        then  
              echo "Redis is running..."  
        fi  
        ;;  
    stop)  
        if [ ! -f $PIDFILE ]  
        then  
                echo "$PIDFILE does not exist, process is not running"  
        else  
                PID=$(cat $PIDFILE)  
                echo "Stopping ..."  
                $REDIS_CLI -p $REDISPORT SHUTDOWN  
                while [ -x ${PIDFILE} ]  
               do  
                    echo "Waiting for Redis to shutdown ..."  
                    sleep 1  
                done  
                echo "Redis stopped"  
        fi  
        ;;  
   restart|force-reload)  
        ${0} stop  
        ${0} start  
        ;;  
  *)  
    echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2  
        exit 1  
esac  
##############################

 
上記のコードをredisとして保存する、/etc/initに置く.d/以下
chmod +x /etc/init.d/redis  
実はサービス起動を行い、redis-serverを呼び出し、バックグラウンドでdaemonとして実行させたい場合は、
redisを変更する必要があります.conf、daemonize noをdaemonize yesに変更
4、起動サービスの設定
sudo chkconfig redis on  
5、起動、redis停止
Serviceredis start#または/etc/init.d/redis start  
Serviceredis stop#または/etc/init.d/redis stop  
6,redisのテスト
redis-cli   
redis 127.0.0.1:6379> set foo 123  
OK  
redis 127.0.0.1:6379> get foo  
"123"  
redis 127.0.0.1:6379> exit