Redisマルチインスタンス起動スクリプト
3323 ワード
1,redisを修正する.conf
redisバックグラウンド起動の設定
2、スクリプト作成
vi/etc/init.d/redis
2,${0}:ファイルが存在するパス、例えばファイルが存在するパスは/etc/initである.d/redisでは、${0}の値がパスです.
3、スクリプトは/etc/initに配置します.d/でなければserver redisを実行します...のコマンドはredisが見つからないことを示します
3、実行権限の追加
redisバックグラウンド起動の設定
daemonize yes
2、スクリプト作成
vi/etc/init.d/redis
#!/bin/sh
#chkconfig: 2345 10 90
#description: Startup and stop script for Redis
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
REDISPORT_1=6380
REDISPORT_2=6381
REDISPORT_3=6382
REDISPORT_4=6383
REDISPORT_5=6384
REDISPORT_6=6385
REDISPORTS=($REDISPORT_1 $REDISPORT_2 $REDISPORT_3 $REDISPORT_4 $REDISPORT_5 $REDISPORT_6)
EXEC=/usr/local/redis/bin/redis-server
REDIS_CLI=/usr/local/redis/bin/redis-cli
PIDFILE_1=/var/run/redis_6380.pid
PIDFILE_2=/var/run/redis_6381.pid
PIDFILE_3=/var/run/redis_6382.pid
PIDFILE_4=/var/run/redis_6383.pid
PIDFILE_5=/var/run/redis_6384.pid
PIDFILE_6=/var/run/redis_6385.pid
PIDFILES=($PIDFILE_1 $PIDFILE_2 $PIDFILE_3 $PIDFILE_4 $PIDFILE_5 $PIDFILE_6)
CONF_1=/usr/local/redis/etc/redis_6380.conf
CONF_2=/usr/local/redis/etc/redis_6381.conf
CONF_3=/usr/local/redis/etc/redis_6382.conf
CONF_4=/usr/local/redis/etc/redis_6383.conf
CONF_5=/usr/local/redis/etc/redis_6384.conf
CONF_6=/usr/local/redis/etc/redis_6385.conf
CONFS=($CONF_1 $CONF_2 $CONF_3 $CONF_4 $CONF_5 $CONF_6)
case "$1" in
start)
i=0
for PID in ${PIDFILES[@]}
do
if [ -e $PID ]
then
echo "$PID has exist, process is running"
else
echo "$PID Start ..."
$EXEC ${CONFS[i]}
fi
if [ "$?" == "0" ]
then
echo "$PID is running"
else
echo "$PID is failed to start"
fi
let i++
done
;;
stop)
i=0
for PID in ${PIDFILES[@]}
do
if [ ! -e $PID ]
then
echo "$PID does not exist, process is not running"
else
echo "$PID Stoping ..."
$REDIS_CLI -p ${REDISPORTS[i]} SHUTDOWN
sleep 2
while [ -e $PID ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "$PID stopped"
fi
let i++
done
;;
restart)
${0} stop
${0} start
;;
*)
echo "Usage: /etc/init.d/redis {start|stop|restart}" >&2
exit 1
esac
,$1:コマンドを実行する最初のパラメータ、例えば/etc/init.d/redis start,startが最初のパラメータ2,${0}:ファイルが存在するパス、例えばファイルが存在するパスは/etc/initである.d/redisでは、${0}の値がパスです.
3、スクリプトは/etc/initに配置します.d/でなければserver redisを実行します...のコマンドはredisが見つからないことを示します
3、実行権限の追加
chmod +x /etc/init.d/redis
service redis start
service redis stop<pre name="code" class="plain">service redis restart
4,设置开机启动
chkconfig redis on
chkconfig --add redis