redis重啟指令碼

紫翼龍王夜發表於2015-03-20
#!/bin/bash
# redis Startup script for the redis management
# this script create it by toice 2012.09.13
# it is Version:redis-2.4.17
# chkconfig:   2345 90 10
# description:  Redis is a persistent key-value database
# my mail address is toice dot 163.com
# description: redis is a key/value based in memory database.
# processname: redis
# redis pidfile: /usr/local/webserver/redis/run/redis.pid
# redis config: /usr/local/webserver/redis/conf/redis.conf
REDIS_BIN=/root/redis-2.6.14/src/redis-server
REDIS_CONF=/root/redis-2.6.14/redis.conf
REDIS_PID=/var/run/redis.pid
RETVAL=0
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -x $REDIS_BIN ] || exit 0
ulimit -HSn 65535
wait_for_pid () {
try=0
while test $try -lt 35 ; do
case "$1" in
'created')
if [ -f "$2" ] ; then
try=''
break
fi
;;
'removed')
if [ ! -f "$2" ] ; then
try=''
break
fi
;;
esac
try=`expr $try + 1`
sleep 1
done
}
redis_start() {
if [ -e $REDIS_PID -a ! -z $REDIS_PID ];then
echo "redis already running...."
exit 1
fi
echo -n "Starting redis: "
$REDIS_BIN $REDIS_CONF && success || failure
wait_for_pid created $REDIS_PID
if [ -n "$try" ] ; then
RETVAL=1
else
RETVAL=0
fi
return $RETVAL
}
redis_stop() {
echo -n "Stopping redis: "
if [ ! -r $REDIS_PID ] ; then
echo "warning, no pid file found - redis is not running ?"
exit 1
fi
kill -TERM `cat $REDIS_PID`
wait_for_pid removed $REDIS_PID
if [ -n "$try" ] ; then
RETVAL=1
failure
else
RETVAL=0
success
fi
return $RETVAL
}
# See how we were called.
case "$1" in
start)
redis_start
;;
stop)
redis_stop
;;
restart)
redis_stop
redis_start
;;
*)
echo $"Usage: redis{start|stop|restart}"
exit 1
esac
exit $RETVAL

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30129545/viewspace-1467189/,如需轉載,請註明出處,否則將追究法律責任。

相關文章