Skip to content

Instantly share code, notes, and snippets.

@tessro
Created December 16, 2009 14:20
Show Gist options
  • Save tessro/257849 to your computer and use it in GitHub Desktop.
Save tessro/257849 to your computer and use it in GitHub Desktop.
A CentOS initscript for Redis
#!/bin/sh
#
# redis - this script starts and stops the redis-server daemon
#
# chkconfig: - 85 15
# description: Redis is a persistent key-value database
# processname: redis-server
# config: /etc/redis/redis.conf
# config: /etc/sysconfig/redis
# pidfile: /var/run/redis.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
redis="/usr/local/sbin/redis-server"
prog=$(basename $redis)
REDIS_CONF_FILE="/etc/redis/redis.conf"
[ -f /etc/sysconfig/redis ] && . /etc/sysconfig/redis
lockfile=/var/lock/subsys/redis
start() {
[ -x $redis ] || exit 5
[ -f $REDIS_CONF_FILE ] || exit 6
echo -n $"Starting $prog: "
daemon $redis $REDIS_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
stop
start
}
reload() {
echo -n $"Reloading $prog: "
killproc $redis -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
exit 2
esac
@johlo
Copy link

johlo commented Jun 8, 2015

@tpaveyjr I used the https://gist.github.com/tahajahangir/155176867afed0ff80ad fork and had the same problem (on CentOS 6.6). Solved by adding --pidfile "/var/run/redis.pid" to the daemon call

@ac-astuartkregor
Copy link

ac-astuartkregor commented Oct 19, 2016

This didn't quite work for me, so I tweaked it to use more generic/plain constructs: https://gist.github.com/ac-astuartkregor/5d11fe0e9f028087b66ac90423293263
This assumes you've told redis to run with daemonize yes in the config.

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