redis/redis-initscript.patch

101 lines
2.8 KiB
Diff

Index: utils/redis_init_script
===================================================================
--- utils/redis_init_script.orig 2011-10-17 10:46:00.000000000 +0200
+++ utils/redis_init_script 2011-10-24 12:47:43.108960720 +0200
@@ -1,42 +1,75 @@
#!/bin/sh
#
-# Simple Redis init.d script conceived to work on Linux systems
-# as it does use of the /proc filesystem.
+# /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
-CLIEXEC=/usr/local/bin/redis-cli
+EXEC=/usr/sbin/redis-server
+CLIEXEC=/usr/bin/redis-cli
-PIDFILE=/var/run/redis_${REDISPORT}.pid
-CONF="/etc/redis/${REDISPORT}.conf"
+CONF=/etc/redis.conf
+PIDFILE=/var/run/redis.pid
+LOGFILE=/var/log/redis/redis.log
case "$1" in
start)
- if [ -f $PIDFILE ]
- then
- echo "$PIDFILE exists, process is already running or crashed"
- else
- echo "Starting Redis server..."
- $EXEC $CONF
+ 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 "$PIDFILE does not exist, process is not running"
+ echo -n "$PIDFILE does not exist, process is not running"
+ rc_failed
else
- PID=$(cat $PIDFILE)
- echo "Stopping ..."
+ echo -n "Stopping service Redis..."
$CLIEXEC -p $REDISPORT shutdown
- while [ -x /proc/${PID} ]
+ PID=$(cat $PIDFILE)
+ while [ -x /proc/${PIDFILE} ]
do
- echo "Waiting for Redis to shutdown ..."
sleep 1
done
- echo "Redis stopped"
fi
+ rc_status -v
;;
- *)
- echo "Please use start or stop as first argument"
+ 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
+