github.com/Cloud-Foundations/Dominator@v0.3.4/init.d/dominator.Debian-7 (about) 1 #! /bin/bash --posix 2 3 ### BEGIN INIT INFO 4 # Provides: dominator 5 # Required-Start: $local_fs $network $syslog 6 # Required-Stop: $local_fs $network $syslog 7 # Default-Start: 2 3 4 5 8 # Default-Stop: 0 1 6 9 # Short-Description: Dominator daemon 10 ### END INIT INFO 11 12 # /etc/init.d/dominator: start and stop the Dominator daemon 13 14 . /lib/lsb/init-functions 15 16 umask 022 17 18 readonly default_log_dir='/var/log/dominator' 19 20 DAEMON='/usr/local/sbin/dominator' 21 FD_LIMIT=unlimited 22 IMAGE_SERVER_HOSTNAME= 23 LOG_DIR="$default_log_dir" 24 LOG_QUOTA= 25 LOGBUF_LINES= 26 LOOP_PIDFILE='/var/run/dominator.loop.pid' 27 PIDFILE='/var/run/dominator.pid' 28 STATE_DIR= 29 USERNAME='dominator' 30 31 PROG_ARGS= 32 33 [ -f /etc/default/dominator ] && . /etc/default/dominator 34 35 test -x "$DAEMON" || exit 0 36 37 export PATH="${PATH:+$PATH:}/usr/local/bin:/usr/local/sbin:/usr/sbin:/sbin" 38 39 if [ -n "$FD_LIMIT" ]; then 40 ulimit -n "$FD_LIMIT" 41 fi 42 43 mkdir -m 0755 -p "$LOG_DIR" 44 chown "$USERNAME" "$LOG_DIR" 45 46 if [ -n "$IMAGE_SERVER_HOSTNAME" ]; then 47 PROG_ARGS="$PROG_ARGS -imageServerHostname=$IMAGE_SERVER_HOSTNAME" 48 fi 49 50 if [ -n "$LOG_DIR" ] && [ "$LOG_DIR" != "$default_log_dir" ]; then 51 PROG_ARGS="$PROG_ARGS -logDir=$LOG_DIR" 52 fi 53 54 if [ -n "$LOG_QUOTA" ]; then 55 PROG_ARGS="$PROG_ARGS -logQuota=$LOG_QUOTA" 56 fi 57 58 if [ -n "$LOGBUF_LINES" ]; then 59 PROG_ARGS="$PROG_ARGS -logbufLines=$LOGBUF_LINES" 60 fi 61 62 if [ -n "$STATE_DIR" ]; then 63 PROG_ARGS="$PROG_ARGS -stateDir=$STATE_DIR" 64 fi 65 66 do_start () 67 { 68 start-stop-daemon --start --quiet --pidfile "$PIDFILE" \ 69 --exec "$DAEMON" --chuid "$USERNAME" --make-pidfile -- \ 70 $PROG_ARGS 71 } 72 73 start_loop () 74 { 75 echo "$BASHPID" > "$LOOP_PIDFILE" 76 while true; do 77 do_start 78 rm -f "$PIDFILE" 79 sleep 1 80 done 81 } 82 83 case "$1" in 84 start) 85 log_daemon_msg "Starting Dominator daemon" "dominator" || true 86 (start_loop < /dev/null &> /dev/null &) 87 ;; 88 stop) 89 log_daemon_msg "Stopping Dominator daemon" "dominator" || true 90 [ -s "$LOOP_PIDFILE" ] && kill -KILL $(cat "$LOOP_PIDFILE") 91 [ -s "$PIDFILE" ] && kill -TERM $(cat "$PIDFILE") 92 rm -f "$LOOP_PIDFILE" "$PIDFILE" 93 ;; 94 95 reload|force-reload) 96 $0 stop 97 $0 start 98 ;; 99 100 restart) 101 $0 stop 102 $0 start 103 ;; 104 105 *) 106 log_action_msg "Usage: /etc/init.d/dominator {start|stop|reload|force-reload|restart}" || true 107 exit 1 108 esac 109 110 exit 0