Better init script

This commit is contained in:
antirez 2011-06-14 13:48:49 +02:00
parent 4abd096f51
commit b0d68504e9

View File

@ -1,7 +1,11 @@
#!/bin/sh #!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
REDISPORT=6379 REDISPORT=6379
EXEC=/usr/local/bin/redis-server EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf" CONF="/etc/redis/${REDISPORT}.conf"
@ -10,20 +14,20 @@ case "$1" in
start) start)
if [ -f $PIDFILE ] if [ -f $PIDFILE ]
then then
echo -n "$PIDFILE exists, process is already running or crashed\n" echo "$PIDFILE exists, process is already running or crashed"
else else
echo -n "Starting Redis server...\n" echo "Starting Redis server..."
$EXEC $CONF $EXEC $CONF
fi fi
;; ;;
stop) stop)
if [ ! -f $PIDFILE ] if [ ! -f $PIDFILE ]
then then
echo -n "$PIDFILE does not exist, process is not running\n" echo "$PIDFILE does not exist, process is not running"
else else
PID=$(cat $PIDFILE) PID=$(cat $PIDFILE)
echo -n "Stopping ...\n" echo "Stopping ..."
echo -n "SHUTDOWN\r\n" | nc localhost $REDISPORT & $CLIEXEC -p $REDISPORT shutdown
while [ -x /proc/${PIDFILE} ] while [ -x /proc/${PIDFILE} ]
do do
echo "Waiting for Redis to shutdown ..." echo "Waiting for Redis to shutdown ..."
@ -32,4 +36,7 @@ case "$1" in
echo "Redis stopped" echo "Redis stopped"
fi fi
;; ;;
*)
echo "Please use start or stop as first argument"
;;
esac esac