diff --git a/server/djrandom.init b/server/djrandom.init new file mode 100755 index 0000000000000000000000000000000000000000..53dbd31730c9b70ece759157ee8b474ef01c9c89 --- /dev/null +++ b/server/djrandom.init @@ -0,0 +1,88 @@ +#!/bin/bash +# +# Init script for djrandom frontend and backend workers. +# +### BEGIN INIT INFO +# Provides: djrandom +# Required-Start: $local_fs $remote_fs $network $syslog $named +# Required-Stop: $local_fs $remote_fs $network $syslog $named +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: true +# Short-Description: Start/stop DJRandom daemons +### END INIT INFO + +# Usually tools will be installed in /usr/local/bin. +PATH=/usr/local/bin:$PATH + +RUN_DIR=/var/run/djrandom +USER=djrandom +DAEMONS="receiver scanner fingerprinter frontend" +COMMON_OPTIONS="--debug --user $USER" + +. /lib/lsb/init-functions + +[ -r /etc/default/djrandom ] && . /etc/default/djrandom + + +start_daemons() { + ret=0 + [ -d ${RUN_DIR} ] || mkdir -p ${RUN_DIR} + [ -n "${USER}" ] && chown ${USER} ${RUN_DIR} + for daemon in ${DAEMONS} ; do + program_name="djrandom-${daemon}" + pidfile="${RUN_DIR}/${program_name}.pid" + + log_daemon_msg "Starting DJRandom ${daemon}" "${program_name}" + + upcase_prog=$(echo ${program_name} | tr a-z A-Z) + program_opts=$(eval echo \${$(echo ${upcasevar})_OPTIONS}) + options="${COMMON_OPTIONS} ${program_opts}" + if start-stop-daemon --start --quiet --pidfile ${pidfile} \ + --exec ${program_name} -- --pidfile ${pidfile} --user ${USER} \ + ${options} ; then + log_end_msg 0 + else + log_end_msg 1 + ret=1 + fi + done + return ${ret} +} + +stop_daemons() { + for daemon in ${DAEMONS} ; do + program_name="djrandom-${daemon}" + pidfile="${RUN_DIR}/${program_name}.pid" + + log_daemon_msg "Stopping DJRandom ${daemon}" "${program_name}" + start-stop-daemon --stop --oknodo --quiet --pidfile ${pidfile} + log_end_msg 0 + done +} + + +err=0 + +case "$1" in + start) + start_daemons + err=$? + ;; + + stop) + stop_daemons + ;; + + restart) + stop_daemons + start_daemons + err=$? + ;; + + *) + echo "Usage: $0 {start|stop|restart}" + ;; +esac + +exit $err