github.com/Cloud-Foundations/Dominator@v0.3.4/init.d/filegen-server.Debian-7 (about)

     1  #! /bin/bash --posix
     2  
     3  ### BEGIN INIT INFO
     4  # Provides:		filegen-server
     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 filegen-server
    10  ### END INIT INFO
    11  
    12  # /etc/init.d/filegen-server: start and stop the Dominator filegen-server
    13  
    14  . /lib/lsb/init-functions
    15  
    16  umask 022
    17  
    18  readonly default_log_dir='/var/log/filegen-server'
    19  
    20  CONFIG_FILE=
    21  DAEMON='/usr/local/sbin/filegen-server'
    22  LOG_DIR="$default_log_dir"
    23  LOG_QUOTA=
    24  LOGBUF_LINES=
    25  LOOP_PIDFILE='/var/run/filegen-server.loop.pid'
    26  PIDFILE='/var/run/filegen-server.pid'
    27  USERNAME='filegen-server'
    28  
    29  PROG_ARGS=
    30  
    31  [ -f /etc/default/filegen-server ] && . /etc/default/filegen-server
    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"
    38  chown "$USERNAME" "$LOG_DIR"
    39  
    40  if [ -n "$CONFIG_FILE" ]; then
    41      PROG_ARGS="$PROG_ARGS -configFile=$CONFIG_FILE"
    42  fi
    43  
    44  if [ -n "$LOG_DIR" ] && [ "$LOG_DIR" != "$default_log_dir" ]; then
    45      PROG_ARGS="$PROG_ARGS -logDir=$LOG_DIR"
    46  fi
    47  
    48  if [ -n "$LOG_QUOTA" ]; then
    49      PROG_ARGS="$PROG_ARGS -logQuota=$LOG_QUOTA"
    50  fi
    51  
    52  if [ -n "$LOGBUF_LINES" ]; then
    53      PROG_ARGS="$PROG_ARGS -logbufLines=$LOGBUF_LINES"
    54  fi
    55  
    56  do_start ()
    57  {
    58      start-stop-daemon --start --quiet --pidfile "$PIDFILE" \
    59  		      --exec "$DAEMON" --chuid "$USERNAME" --make-pidfile -- \
    60  		      $PROG_ARGS
    61  }
    62  
    63  start_loop ()
    64  {
    65      echo "$BASHPID" > "$LOOP_PIDFILE"
    66      while true; do
    67  	do_start
    68  	rm -f "$PIDFILE"
    69  	sleep 1
    70      done
    71  }
    72  
    73  case "$1" in
    74    start)
    75  	log_daemon_msg "Starting filegen-server daemon" "filegen-server" || true
    76  	(start_loop < /dev/null &> /dev/null &)
    77  	;;
    78    stop)
    79  	log_daemon_msg "Stopping filegen-server daemon" "filegen-server" || 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/filegen-server {start|stop|reload|force-reload|restart}" || true
    97  	exit 1
    98  esac
    99  
   100  exit 0