xref: /redis-3.2.3/utils/redis_init_script (revision a69a0c9c)
1*a69a0c9cSantirez#!/bin/sh
2*a69a0c9cSantirez
3*a69a0c9cSantirezREDISPORT=6379
4*a69a0c9cSantirezEXEC=/usr/local/bin/redis-server
5*a69a0c9cSantirez
6*a69a0c9cSantirezPIDFILE=/var/run/redis_${REDISPORT}.pid
7*a69a0c9cSantirezCONF="/etc/redis/${REDISPORT}.conf"
8*a69a0c9cSantirez
9*a69a0c9cSantirezcase "$1" in
10*a69a0c9cSantirez    start)
11*a69a0c9cSantirez        if [ -f $PIDFILE ]
12*a69a0c9cSantirez        then
13*a69a0c9cSantirez                echo -n "$PIDFILE exists, process is already running or crashed\n"
14*a69a0c9cSantirez        else
15*a69a0c9cSantirez                echo -n "Starting Redis server...\n"
16*a69a0c9cSantirez                $EXEC $CONF
17*a69a0c9cSantirez        fi
18*a69a0c9cSantirez        ;;
19*a69a0c9cSantirez    stop)
20*a69a0c9cSantirez        if [ ! -f $PIDFILE ]
21*a69a0c9cSantirez        then
22*a69a0c9cSantirez                echo -n "$PIDFILE does not exist, process is not running\n"
23*a69a0c9cSantirez        else
24*a69a0c9cSantirez                echo -n "Stopping ...\n"
25*a69a0c9cSantirez                echo -n "Sending SHUTDOWN\r\n" | nc localhost $REDISPORT &
26*a69a0c9cSantirez                PID=$(cat $PIDFILE)
27*a69a0c9cSantirez                while [ -x /proc/${PIDFILE} ]
28*a69a0c9cSantirez                do
29*a69a0c9cSantirez                    echo "Waiting for Redis to shutdown ..."
30*a69a0c9cSantirez                    sleep 1
31*a69a0c9cSantirez                done
32*a69a0c9cSantirez                rm $PIDFILE
33*a69a0c9cSantirez                echo "Redis stopped"
34*a69a0c9cSantirez        fi
35*a69a0c9cSantirez        ;;
36*a69a0c9cSantirezesac
37