summaryrefslogtreecommitdiff
path: root/control
blob: 11c1a7e94c323f911479b7dae551fa4f8f80e840 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/usr/bin/env bash 
# PerlDaemon (c) 2010, 2011, 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 <start|stop|restart|logrotate|foreground|keys> [key1=val1 [[key2=val2] ...]]"
                exit 1
	;;
esac