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