-
-
Save lsbardel/257298 to your computer and use it in GitHub Desktop.
#! /bin/sh | |
### BEGIN INIT INFO | |
# Provides: redis-server | |
# Required-Start: $syslog | |
# Required-Stop: $syslog | |
# Should-Start: $local_fs | |
# Should-Stop: $local_fs | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Short-Description: redis-server - Persistent key-value db | |
# Description: redis-server - Persistent key-value db | |
### END INIT INFO | |
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin | |
DAEMON=/usr/bin/redis-server | |
DAEMON_ARGS=/etc/redis/redis.conf | |
NAME=redis-server | |
DESC=redis-server | |
PIDFILE=/var/run/redis.pid | |
test -x $DAEMON || exit 0 | |
test -x $DAEMONBOOTSTRAP || exit 0 | |
set -e | |
case "$1" in | |
start) | |
echo -n "Starting $DESC: " | |
touch $PIDFILE | |
chown redis:redis $PIDFILE | |
if start-stop-daemon --start --quiet --umask 007 --pidfile $PIDFILE --chuid redis:redis --exec $DAEMON -- $DAEMON_ARGS | |
then | |
echo "$NAME." | |
else | |
echo "failed" | |
fi | |
;; | |
stop) | |
echo -n "Stopping $DESC: " | |
if start-stop-daemon --stop --retry 10 --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON | |
then | |
echo "$NAME." | |
else | |
echo "failed" | |
fi | |
rm -f $PIDFILE | |
;; | |
restart|force-reload) | |
${0} stop | |
${0} start | |
;; | |
*) | |
echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload}" >&2 | |
exit 1 | |
;; | |
esac | |
exit 0 |
Thanks for the script.
When I try to use it I get:
Starting redis-server: start-stop-daemon: unable to set gid to 113 (Operation not permitted)
failed
Obviously that is a permissions error, but I'm having trouble figuring out what the issue is. I've created both a redis user and a redis group on my server. A push in the right direction would be greatly appreciated!
Wouldn't it be better to send the SHUTDOWN command to the server (through the redis client)? Sending the command seems more clean to me (for example with that command, the state will be persisted on the disk if there are savepoints).
redis has master slave configuration.If master goes down slave become master.
How can i again restart the previous master using sccript
It's best to follow the steps on the Redis website.
@ezarko just edit your first comment to use this URL: https://gist.githubusercontent.com/lsbardel/257298/raw/redis-server-for-init.d-startup
As it changes, command will still work.
Interested to know who holds the copyright in this script. It looks identical to: http://etopian.com/tutorials/howto-automatically-start-stop-redis-ubuntu-debian/