Skip to content

Instantly share code, notes, and snippets.

@ixqbar
Created October 11, 2015 08:09
Show Gist options
  • Save ixqbar/ebfd1ddb05011660574b to your computer and use it in GitHub Desktop.
Save ixqbar/ebfd1ddb05011660574b to your computer and use it in GitHub Desktop.
#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf"
case "$1" in
   start)
     if [ -f $PIDFILE ]
     then
          echo "$PIDFILE exists, process is already running or crashed"
     else
          echo "Starting Redis server..."
          $EXEC $CONF
     fi
     ;;
   stop)
     if [ ! -f $PIDFILE ]
     then
          echo "$PIDFILE does not exist, process is not running"
     else
          PID=$(cat $PIDFILE)
          echo "Stopping ..."
          $CLIEXEC -p $REDISPORT shutdown
          while [ -x /proc/${PID} ]
          do
            echo "Waiting for Redis to shutdown ..."
            sleep 1
          done
          echo "Redis stopped"
     fi
     ;;
   *)
     echo "Please use start or stop as first argument"
     ;;
esac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment