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