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