管理Redis进程的Shell脚本
下面是一个Shell脚本,用于管理Redis进程(启动,停止,重启),这个脚本可供参考。
#!/bin/sh
# redis - this script starts and stops the redis-server daemon
# chkconfig:?? - 85 15
# description:? Redis is a persistent key-value database
# processname: redis-server
# config:????? /usr/local/webserver/redis-2.4.4/bin/redis-server
# config:????? /usr/local/webserver/redis-2.4.4/etc/redis.conf
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
redis="/usr/local/webserver/redis-2.4.4/bin/redis-server"
prog=$(basename $redis)
REDIS_CONF_FILE="/usr/local/webserver/redis-2.4.4/etc/redis.conf"
[ -f /etc/sysconfig/redis ] && . /etc/sysconfig/redis
lockfile=/var/lock/subsys/redis
start() {
??? [ -x $redis ] || exit 5
??? [ -f $REDIS_CONF_FILE ] || exit 6
??? echo -n $"Starting $prog: "
??? daemon $redis $REDIS_CONF_FILE
??? retval=$?
??? echo
??? [ $retval -eq 0 ] && touch $lockfile
??? return $retval
}
stop() {
??? echo -n $"Stopping $prog: "
??? killproc $prog -QUIT
??? retval=$?
??? echo
??? [ $retval -eq 0 ] && rm -f $lockfile
??? return $retval
}
restart() {
??? stop
??? start
}
reload() {
??? echo -n $"Reloading $prog: "
??? killproc $redis -HUP
??? RETVAL=$?
??? echo
}
force_reload() {
??? restart
}
rh_status() {
??? status $prog
}
rh_status_q() {
??? rh_status >/dev/null 2>&1
}
case "$1" in
??? start)
??????? rh_status_q && exit 0
??????? $1
??????? ;;
??? stop)
??????? rh_status_q || exit 0
??????? $1
??????? ;;
??? restart|configtest)
??????? $1
??????? ;;
??? reload)
??????? rh_status_q || exit 7
??????? $1
??????? ;;
??? force-reload)
??????? force_reload
??????? ;;
??? status)
??????? rh_status
??????? ;;
??? condrestart|try-restart)
??????? rh_status_q || exit 0
??? ;;
??? *)
??????? echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
??????? exit 2
esac
chmod 755 /etc/rc.d/init.d/redis
[root@lx_web_s1?init.d]#?service?redis?start
Starting?redis-server:?????????????????????????????????????[??OK??]
[root@lx_web_s1?init.d]#?service?redis?stop?
Stopping?redis-server:????????????????????????????????????[??OK??]
?
添加到开机启动
chkconfig?--add?redis
chkconfig?--level?3?redis?on
本文出自 “Richard Shen运维/架构” 博客,请务必保留此出处http://lxsym.blog.51cto.com/1364623/741871