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