summaryrefslogtreecommitdiff
path: root/control
blob: c7a6dde05aa089a3eb2568b7e90e6305ab58b44e (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 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_it { 
  echo Starting daemon now...
  perl -I$LIBDIR $LIBDIR/PerlDaemon/PerlDaemon.pl config=./conf/perldaemon.conf $@
}

function stop_it { 
  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_it {
  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_it $@
    ;;

  stop)
    stop_it
    ;;

  restart)
    shift
    stop_it 
    start_it $@
    ;;

  logrotate)
    logrotate_it
    ;;

  foreground)
    start_it daemon.daemonize=no $@
    ;;

  keys)
    keys $@
    ;;

  *)
    echo "Usage: $0 <start|stop|restart|logrotate|foreground|keys> [key1=val1 [[key2=val2] ...]]"
    exit 1
    ;;
esac