视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Redis多实例启动脚本
2020-11-09 16:28:30 责编:小采
文档


1,修改redis.conf 设置redis后台启动 daemonize yes 2,编写脚本 vi /etc/init.d/redis #!/bin/sh#chkconfig: 2345 10 90#description: Startup and stop script for RedisPATH=/usr/local/bin:/sbin:/usr/bin:/binREDISPORT_1=6380REDISPORT_2=6381REDISPO

1,修改redis.conf

设置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,$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
service redis restart




4,设置开机启动

chkconfig redis on
chkconfig --add redis

下载本文
显示全文
专题