Ubuntu 配置redis集群开机自启动

1.编写shell脚本文件/etc/init.d/redis-cluster-server

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

REDISPORT0=7000
REDISPORT1=7001
REDISPORT2=7002
REDISPORT3=7003
REDISPORT4=7004
REDISPORT5=7005
 
HOSTIP=127.0.0.1
 
EXEC=/home/user/Software/redis-cluster/redis-7000/src/redis-server
CLIEXEC=/home/user/Software/redis-cluster/redis-7000/src/redis-cli

PIDFILE=/home/user/Software/redis-cluster/redis-${REDISPORT0}/redis_${REDISPORT0}.pid

CONF0="/home/user/Software/redis-cluster/redis-${REDISPORT0}/${REDISPORT0}.conf"
CONF1="/home/user/Software/redis-cluster/redis-${REDISPORT1}/${REDISPORT1}.conf"
CONF2="/home/user/Software/redis-cluster/redis-${REDISPORT2}/${REDISPORT2}.conf"
CONF3="/home/user/Software/redis-cluster/redis-${REDISPORT3}/${REDISPORT3}.conf"
CONF4="/home/user/Software/redis-cluster/redis-${REDISPORT4}/${REDISPORT4}.conf"
CONF5="/home/user/Software/redis-cluster/redis-${REDISPORT5}/${REDISPORT5}.conf"

case "$1" in
    start)
        if [ -f $PIDFILE ]
        then
                echo "$PIDFILE exists, process is already running or crashed"
        else
                echo "Starting Redis cluster server..."
                $EXEC $CONF0 &
		        $EXEC $CONF1 &
                $EXEC $CONF2 &
                $EXEC $CONF3 &
                $EXEC $CONF4 &
                $EXEC $CONF5 &
                echo "启动成功..."
        fi
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
		        $CLIEXEC -h $HOSTIP -p $REDISPORT0 shutdown
                $CLIEXEC -h $HOSTIP -p $REDISPORT1 shutdown
                $CLIEXEC -h $HOSTIP -p $REDISPORT2 shutdown
                $CLIEXEC -h $HOSTIP -p $REDISPORT3 shutdown
                $CLIEXEC -h $HOSTIP -p $REDISPORT4 shutdown
                $CLIEXEC -h $HOSTIP -p $REDISPORT5 shutdown
                while [ -x /proc/${PID} ]
                do
                    echo "Waiting for Redis cluster to shutdown ..."
                    sleep 1
                done
                echo "Redis cluster stopped"
        fi
        ;;
    *)
        echo "Please use start or stop as first argument"
        ;;
esac

2.在/etc/init.d/下设置redis-cluster-server脚本文件为可执行文件

sudo chmod +x redis-cluster-server

3.配置到/etc/rc.local 中,开机自启动

sudo /etc/init.d/redis-cluster-server start &

或者在redis-cluster-server 文件所在的/etc/init.d/目录下执行

sudo update-rc.d redis-cluster-server defaults 99

猜你喜欢

转载自blog.csdn.net/qq_37778018/article/details/123070766
今日推荐