Redis – HOWTO Automatically start and stop Redis under Ubuntu / Debian

[error]Please read the license below carefully. You agree to it if you use any of the code on this page.[/error]

The following is an init.d script that goes in /etc/init.d on your Debian or Ubuntu install and allows you to start and stop redis. Simply copy it to /etc/init.d/redis-server, chmod +x /etc/initi.d/redis-server and then you can start and stop redis like so:

[bash]
/etc/init.d/redis-server start
[/bash] [bash]
#!/bin/sh

# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
# SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
# DAMAGE.

### 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/local/bin/redis-server
DAEMON_ARGS=/etc/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
[/bash]

Published on: 3 May 2012
Posted by: Sami K.