101 lines
2.8 KiB
Diff
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
|
|
+
|