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