Redis-server-init 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #! /bin/sh
  2. ### BEGIN INIT INFO
  3. # Provides: redis-server
  4. # Required-Start: $syslog
  5. # Required-Stop: $syslog
  6. # Should-Start: $local_fs
  7. # Should-Stop: $local_fs
  8. # Default-Start: 2 3 4 5
  9. # Default-Stop: 0 1 6
  10. # Short-Description: redis-server - Persistent key-value db
  11. # Description: redis-server - Persistent key-value db
  12. ### END INIT INFO
  13. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  14. DAEMON=/usr/local/redis/bin/redis-server
  15. DAEMON_ARGS=/usr/local/redis/etc/redis.conf
  16. NAME=redis-server
  17. DESC=redis-server
  18. PIDFILE=/var/run/redis/redis.pid
  19. PIDDIR=`dirname $PIDFILE`
  20. test -x $DAEMON || exit 0
  21. test -x $DAEMONBOOTSTRAP || exit 0
  22. set -e
  23. case "$1" in
  24. start)
  25. echo -n "Starting $DESC: "
  26. # Make sure the default pidfile directory exists
  27. if [ ! -d $PIDDIR ]; then
  28. install -d -m 0755 -o redis -g redis $PIDDIR
  29. fi
  30. if start-stop-daemon --start --quiet --pidfile $PIDFILE --chuid redis:redis --exec $DAEMON -- $DAEMON_ARGS
  31. then
  32. echo "[OK]"
  33. else
  34. echo "failed"
  35. fi
  36. ;;
  37. stop)
  38. echo -n "Stopping $DESC: "
  39. if start-stop-daemon --stop --retry 10 --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON
  40. then
  41. echo "[OK]"
  42. else
  43. echo "failed"
  44. fi
  45. ;;
  46. status)
  47. if [ ! -r $PIDFILE ] ; then
  48. echo "redis-server is stopped"
  49. exit 0
  50. fi
  51. PID=`cat $PIDFILE`
  52. if ps -p $PID | grep -q $PID; then
  53. echo "redis-server (pid $PID) is running..."
  54. else
  55. echo "redis-server dead but pid file exists"
  56. fi
  57. ;;
  58. restart|force-reload)
  59. ${0} stop
  60. ${0} start
  61. ;;
  62. *)
  63. echo "Usage: /etc/init.d/$NAME {start|stop|restart|status|force-reload}" >&2
  64. exit 1
  65. ;;
  66. esac
  67. exit 0