1*572c4311Sfengbojiang#!/bin/sh
2*572c4311Sfengbojiang#
3*572c4311Sfengbojiang# Simple Redis init.d script conceived to work on Linux systems
4*572c4311Sfengbojiang# as it does use of the /proc filesystem.
5*572c4311Sfengbojiang
6*572c4311Sfengbojiang### BEGIN INIT INFO
7*572c4311Sfengbojiang# Provides:     redis_6379
8*572c4311Sfengbojiang# Default-Start:        2 3 4 5
9*572c4311Sfengbojiang# Default-Stop:         0 1 6
10*572c4311Sfengbojiang# Short-Description:    Redis data structure server
11*572c4311Sfengbojiang# Description:          Redis data structure server. See https://redis.io
12*572c4311Sfengbojiang### END INIT INFO
13*572c4311Sfengbojiang
14*572c4311SfengbojiangREDISPORT=6379
15*572c4311SfengbojiangEXEC=/usr/local/bin/redis-server
16*572c4311SfengbojiangCLIEXEC=/usr/local/bin/redis-cli
17*572c4311Sfengbojiang
18*572c4311SfengbojiangPIDFILE=/var/run/redis_${REDISPORT}.pid
19*572c4311SfengbojiangCONF="/etc/redis/${REDISPORT}.conf"
20*572c4311Sfengbojiang
21*572c4311Sfengbojiangcase "$1" in
22*572c4311Sfengbojiang    start)
23*572c4311Sfengbojiang        if [ -f $PIDFILE ]
24*572c4311Sfengbojiang        then
25*572c4311Sfengbojiang                echo "$PIDFILE exists, process is already running or crashed"
26*572c4311Sfengbojiang        else
27*572c4311Sfengbojiang                echo "Starting Redis server..."
28*572c4311Sfengbojiang                $EXEC $CONF
29*572c4311Sfengbojiang        fi
30*572c4311Sfengbojiang        ;;
31*572c4311Sfengbojiang    stop)
32*572c4311Sfengbojiang        if [ ! -f $PIDFILE ]
33*572c4311Sfengbojiang        then
34*572c4311Sfengbojiang                echo "$PIDFILE does not exist, process is not running"
35*572c4311Sfengbojiang        else
36*572c4311Sfengbojiang                PID=$(cat $PIDFILE)
37*572c4311Sfengbojiang                echo "Stopping ..."
38*572c4311Sfengbojiang                $CLIEXEC -p $REDISPORT shutdown
39*572c4311Sfengbojiang                while [ -x /proc/${PID} ]
40*572c4311Sfengbojiang                do
41*572c4311Sfengbojiang                    echo "Waiting for Redis to shutdown ..."
42*572c4311Sfengbojiang                    sleep 1
43*572c4311Sfengbojiang                done
44*572c4311Sfengbojiang                echo "Redis stopped"
45*572c4311Sfengbojiang        fi
46*572c4311Sfengbojiang        ;;
47*572c4311Sfengbojiang    *)
48*572c4311Sfengbojiang        echo "Please use start or stop as first argument"
49*572c4311Sfengbojiang        ;;
50*572c4311Sfengbojiangesac
51