#!/bin/bash ### BEGIN INIT INFO # Provides: djrandom # Required-Start: $remote_fs # Required-Stop: $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: DJ:Random services ### END INIT INFO BASE_DAEMONS=" index_server storage_server djfe djproc " MASTER_DAEMONS=" db_server task_server " USER=djrandom DAEMONS="${BASE_DAEMONS}" DJRANDOM_ROOT=/home/$USER/go # Default options for the 'djfe' binary. djfe_OPTIONS="--static-dir=/etc/djrandom/static --templates-dir=/etc/djrandom/templates" test -e /etc/default/djrandom && source /etc/default/djrandom log_dir=/var/log/djrandom run_dir=/var/run/djrandom bin_dir=${DJRANDOM_ROOT}/bin start() { test -e ${log_dir} || mkdir ${log_dir} test -n "${USER}" && chown ${USER}:adm ${log_dir} test -e ${run_dir} || mkdir ${run_dir} test -n "${USER}" && chown ${USER} ${run_dir} ulimit -n 16384 echo -n "Starting DJRandom: " for daemon in ${DAEMONS} ; do echo -n "${daemon} " pidfile=${run_dir}/${daemon}.pid logfile=${log_dir}/${daemon}.log bin=${bin_dir}/${daemon} opts=$(eval "echo \${${daemon}_OPTIONS}") start-stop-daemon --start --background --oknodo \ ${USER:+--chuid ${USER}} \ --pidfile ${pidfile} \ --exec ${bin} -- \ --pid-file ${pidfile} --log-file ${logfile} ${opts} done echo } stop() { echo -n "Stopping DJRandom: " for daemon in ${DAEMONS} ; do pidfile=${run_dir}/${daemon}.pid bin=${bin_dir}/${daemon} echo -n "${daemon} " start-stop-daemon --stop --oknodo \ ${USER:+--user ${USER}} \ --pidfile ${pidfile} \ --exec ${bin} rm -f ${pidfile} done echo } case "$1" in start) start ;; stop) stop ;; restart) "$0" stop sleep 1 "$0" start ;; *) echo "Usage: $0 {start|stop|restart}" 1>&2 ;; esac exit 0