redis/redis-initscript.patch

95 lines
2.7 KiB
Diff
Raw Normal View History

Index: utils/redis_init_script
===================================================================
--- utils/redis_init_script.orig
+++ utils/redis_init_script
@@ -1,36 +1,75 @@
#!/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"
+LOGFILE=/var/log/redis.log
+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
+ # Create a logfile the server can write into.
+ if [ ! -r $LOGFILE ]; then
+ touch $LOGFILE
+ chown redis:redis $LOGFILE
+ fi
+ # Create a pidfile the server can write into.
+ if [ ! -r $PIDFILE ]; then
+ touch $PIDFILE
+ chown redis:redis $PIDFILE
fi
+ echo -n "Starting service Redis "
+ /sbin/startproc -u redis -g redis -p $PIDFILE -s -e $EXEC $CONF >/dev/null 2>&1
+ 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