#!/usr/bin/env sh # PerlDaemon (c) 2010, 2011, 2015 Dipl.-Inform. (FH) Paul Buetow (http://perldaemon.buetow.org) export ARG=$1 export LIBPATHS="./lib ../lib /lib /usr/lib /usr/local/lib /opt/lib" for libpath in $LIBPATHS; do if [ -f $libpath/PerlDaemon/PerlDaemon.pl ]; then LIBDIR=$libpath break fi done if [ -z "$LIBDIR" ]; then echo No PerlDaemon module path found exit 1 fi function start { echo Starting daemon now... perl -I$LIBDIR $LIBDIR/PerlDaemon/PerlDaemon.pl config=./conf/perldaemon.conf $@ } function stop { if [ -f ./run/perldaemon.pid ]; then echo "Stopping daemon now..." kill `cat ./run/perldaemon.pid`; else echo "No pidfile found (not running?) " fi } function logrotate { echo Triggering a logrotate kill -HUP $(cat ./run/perldaemon.pid) } function keys { perl -I$LIBDIR $LIBDIR/PerlDaemon/PerlDaemon.pl config=./conf/perldaemon.conf keys=1 $@ } case $ARG in start) shift start $@ ;; stop) stop ;; restart) shift stop start $@ ;; logrotate) logrotate ;; foreground) start daemon.daemonize=no $@ ;; keys) keys $@ ;; *) echo "Usage: $0 [key1=val1 [[key2=val2] ...]]" exit 1 ;; esac