Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save lsbardel/257298 to your computer and use it in GitHub Desktop.
Save lsbardel/257298 to your computer and use it in GitHub Desktop.
Init.d Redis script for Ubuntu
#! /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
@ezarko
Copy link

ezarko commented Feb 22, 2012

wget -O /etc/init.d/redis-server https://raw.github.com/gist/286018/d48b84d89289df39eaddc53f1e9a918f776b3074/redis-server-for-init.d-startup
chmod 755 /etc/init.d/redis-server
update-rc.d redis-server defaults

@sanderpost
Copy link

@andrewwhitehouse
Copy link

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/

@builtbykrit
Copy link

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!

@nicStuff
Copy link

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).

@manojghorela
Copy link

redis has master slave configuration.If master goes down slave become master.
How can i again restart the previous master using sccript

@gamedev8
Copy link

It's best to follow the steps on the Redis website.

https://redis.io/topics/quickstart

@mustmodify
Copy link

mustmodify commented Jul 19, 2018

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment