linux系统下,redis 编辑对应启动、关闭服务redis脚本,并使其可以直接使用service命令操作;
1、定位redis安装目录下脚本文件
2、编辑脚本文件
我这里 redis.conf 配置文件 设置了密码
vim /usr/local/redis/redis.conf
编辑对应脚本文件
vim /usr/local/redis/utils/redis_init_script
#!/bin/sh
# chkconfig: 2345 90 80
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
### BEGIN INIT INFO
# Provides: redis_6379
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Redis data structure server
# Description: Redis data structure server. See https://redis.io
### END INIT INFO
REDISPORT=6379
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF=/usr/local/redis/redis.conf
REDISPASS=123456
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 -a $REDISPASS -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
3、将redis脚本文件复制到启动脚本目录下
cp /usr/local/redis/utils/redis_init_script /etc/init.d/redisd
4、设置开机自启动
chkconfig redisd on
拓展:
redis_init_script脚本文件中 # chkconfig: 2345 80 90
2345表示系统运行级别是2,3,4或者5时都启动此服务,
80 是启动的优先级,90 是关闭的优先级,如果启动优先级配置的数太小时如0时,则有可能启动不成功,因为此时可能其依赖的网络服务还没有启动,从而导致自启动失败。