Index: utils/redis_init_script =================================================================== --- utils/redis_init_script.orig +++ utils/redis_init_script @@ -1,36 +1,64 @@ #!/bin/sh +# +# /etc/init.d/redis +# +### BEGIN INIT INFO +# Provides: redis +# Required-Start: $syslog $remote_fs +# Should-Start: +# Required-Stop: $syslog $remote_fs +# Should-Stop: +# Default-Start: 3 4 5 +# Default-Stop: 0 1 2 6 +# Short-Description: Redis server +# Description: Starts and stops the Redis daemon +### END INIT INFO + +. /etc/rc.status REDISPORT=6379 -EXEC=/usr/local/bin/redis-server +EXEC=/usr/sbin/redis-server -PIDFILE=/var/run/redis_${REDISPORT}.pid -CONF="/etc/redis/${REDISPORT}.conf" +PIDFILE=/var/run/redis.pid +CONF=/etc/redis.conf case "$1" in start) - if [ -f $PIDFILE ] - then - echo -n "$PIDFILE exists, process is already running or crashed\n" - else - echo -n "Starting Redis server...\n" - $EXEC $CONF - fi + echo -n "Starting service Redis " + /sbin/startproc -u redis -g redis -p $PIDFILE -s -e $EXEC $CONF + rc_status -v ;; stop) if [ ! -f $PIDFILE ] then - echo -n "$PIDFILE does not exist, process is not running\n" + echo -n "$PIDFILE does not exist, process is not running" + rc_failed else - echo -n "Stopping ...\n" - echo -n "SHUTDOWN\r\n" | nc localhost $REDISPORT & + echo -n "Stopping service Redis ..." + echo -e "SHUTDOWN\r" | netcat localhost $REDISPORT & PID=$(cat $PIDFILE) while [ -x /proc/${PIDFILE} ] do - echo "Waiting for Redis to shutdown ..." sleep 1 done rm $PIDFILE - echo "Redis stopped" fi + rc_status -v + ;; + restart) + $0 stop + $0 start + ;; + reload) + $0 restart + ;; + status) + echo -n "Checking for service Redis: " + /sbin/checkproc -p $PIDFILE $EXEC + rc_status -v ;; + *) + echo $"Usage: $0 {start|stop|status|restart|reload}" + exit 1 esac +rc_exit