#!/usr/bin/env bash # PerlDaemon (c) 2010, 2011, 2015 Dipl.-Inform. (FH) Paul Buetow (http://perldaemon.buetow.org) declare -r ARG=$1 declare -a LIBPATHS=(./lib ../lib /lib /usr/lib /usr/local/lib /opt/lib) for path in ${LIBPATHS[@]}; do if [ -f $path/PerlDaemon/PerlDaemon.pl ]; then LIBDIR=$path break fi done if [ -z "$LIBDIR" ]; then echo No PerlDaemon module path found exit 1 fi start () { echo Starting daemon now... perl -I$LIBDIR $LIBDIR/PerlDaemon/PerlDaemon.pl config=./conf/perldaemon.conf $@ } stop () { if [ -f ./run/perldaemon.pid ]; then echo Stopping daemon now... kill $(cat ./run/perldaemon.pid); else echo "No pidfile found (not running?) " fi } logrotate () { echo Triggering a logrotate kill -HUP $(cat ./run/perldaemon.pid) } 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