#!/bin/sh # Init script for ELOG. # Copyright © 2003, 2005 Recai Oktaş # # Additional changes by Thomas Ribbrock # - 2008-11-27: Added better reload functionality, based on suggestion and # code from Yoshio Imai as posted in elog forum # # Licensed under the GNU General Public License, version 2. # See the file `http://www.gnu.org/copyleft/gpl.txt'. PATH=/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/sbin/elogd NAME=elogd DESC="ELOG daemon" test -f $DAEMON || exit 0 set -e # Admin should be able to lock some options. if [ -f /etc/default/elog ]; then . /etc/default/elog fi # To be in the safe side, the followings should be always defined. PIDFILE=${PIDFILE:-/var/run/$NAME.pid} CONFFILE=${CONFFILE:-/etc/elog.conf} # Add the options to argument list only if defined previously. Since # some options may also be present in the conffile, we couldn't preset # those options which would otherwise overwrite the settings in the # conffile. Also note that, all have reasonable compiled-in defaults. ARGS="${PIDFILE+"-f $PIDFILE"} \ ${CONFFILE+"-c $CONFFILE"} \ ${LOGBOOKDIR+"-d $LOGBOOKDIR"} \ ${RESOURCEDIR+"-s $RESOURCEDIR"} \ ${PORT+"-p $PORT"} \ ${HOST+"-n $HOST"} \ ${VERBOSE+"-v"}" # Always run as a daemon. ARGS=`echo $ARGS -D` case "$1" in start) echo -n "Starting $DESC: " start-stop-daemon --start --quiet --pidfile $PIDFILE \ --exec $DAEMON -- $ARGS 2>&1 sleep 1 if [ -f "$PIDFILE" ] && ps h `cat "$PIDFILE"` >/dev/null; then echo "$NAME." else echo "$NAME failed to start; check syslog for diagnostics." exit 1 fi ;; stop) echo -n "Stopping $DESC: $NAME" start-stop-daemon --oknodo --stop --quiet --pidfile $PIDFILE \ --exec $DAEMON -- $ARGS 2>&1 echo "." ;; reload) # Send HUP signal to reload config file # (Only needed if config is edited manually and not via # webinterface) if [ -f $PIDFILE ]; then echo -n "$DESC to reread config file ... " kill -HUP `cat "$PIDFILE"` echo "done" else echo "No $PIDFILE found!" fi ;; restart|force-reload) $0 stop sleep 1 $0 start if [ "$?" != "0" ]; then exit 1 fi ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 exit 1 ;; esac exit 0 # vim:ai:sts=8:sw=8: