Created
November 4, 2011 13:06
-
-
Save bullfinch3000/1339275 to your computer and use it in GitHub Desktop.
init.d script for redis on Amazon Linux
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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=/opt/redis/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/bin | |
DAEMON=`which redis-server` | |
REDIS_CLI=`which redis-cli` | |
CONFIG_FILE=/etc/redis.conf | |
DAEMON_ARGS="$CONFIG_FILE" | |
NAME=redis-server | |
DESC=redis-server | |
PIDFILE=/var/run/redis.pid | |
LOGFILE=/var/log/redis.log | |
test -x $DAEMON || exit 0 | |
test -x $DAEMONBOOTSTRAP || exit 0 | |
set -e | |
case "$1" in | |
start) | |
if [ -f $PIDFILE ] | |
then | |
echo -n "$PIDFILE exists, process is already running or crashed\n" | |
else | |
touch $PIDFILE $LOGFILE | |
chown ec2-user:ec2-user $PIDFILE $LOGFILE | |
echo -n "Starting Redis server...\n" | |
$DAEMON $DAEMON_ARGS | |
fi | |
;; | |
stop) | |
echo "Stopping $DESC" | |
if [ ! -e "$PIDFILE" ] | |
then | |
echo "failed" | |
else | |
LISTENING_PORT=`grep -E "^ *port +([0-9]+) *$" "$CONFIG_FILE" | grep -Eo "[0-9]+"` | |
$REDIS_CLI -p $LISTENING_PORT SHUTDOWN | |
while [ -x ${PIDFILE} ] | |
do | |
echo "Waiting for Redis to shutdown ..." | |
sleep 1 | |
done | |
echo "Redis stopped" | |
rm -f $PIDFILE | |
fi | |
;; | |
restart|force-reload) | |
${0} stop | |
${0} start | |
;; | |
*) | |
echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload}" >&2 | |
exit 1 | |
;; | |
esac | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Install redis, make "redis-server" and "redis-cli" available on you path and put a redis.conf in /etc. The you will be able to use this script for starting and stopping redis using "/etc/init.d/redis start|stop|restart".
Redis needs to be configured to run in daemon mode for this script to work properly.
I've taken the following gist: https://gist.github.com/237118 and rewritten it to work on Amazon Linux using code from http://www.smipple.net/snippet/IanLewis/init.d%20script%20for%20redis