|
#!/bin/bash
# Start/Stop/restart script for Redis Sentinel
### BEGIN INIT INFO
# Provides: sentinel
# Required-Start: $local_fs $network $syslog
# Required-Stop: $local_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start sentinel
### END INIT INFO
EXEC=/usr/local/bin/redis-sentinel
PIDFILE="/var/run/sentinel.pid"
CONF="/etc/redis/sentinel.conf"
start() {
if [ -f "$PIDFILE" ] && kill -0 $(cat $PIDFILE); then
echo 'Service already running' >&2
return 1
fi
echo 'Starting service...' >&2
local CMD="$EXEC /etc/redis/sentinel.conf & echo \$!"
su -c "$CMD" > "$PIDFILE"
echo 'Service started' >&2
}
stop() {
if [ ! -f "$PIDFILE" ] || ! kill -0 $(cat "$PIDFILE"); then
echo 'Service not running' >&2
return 1
fi
echo 'Stopping service...' >&2
kill -15 $(cat "$PIDFILE") && rm -f "$PIDFILE"
echo 'Service stopped' >&2
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage: $0 {start|stop|restart}"
esac
|