Zebra startup: create /var/run and /var/lock subdirs if needed
[koha.git] / misc / bin / koha-zebra-ctl.sh
1 #!/bin/bash
2 USER=__KOHA_USER__
3 GROUP=__KOHA_GROUP__
4 NAME=koha-zebra-ctl
5 LOGDIR=__LOG_DIR__
6 ERRLOG=$LOGDIR/koha-zebradaemon.err
7 STDOUT=$LOGDIR/koha-zebradaemon.log
8 OUTPUT=$LOGDIR/koha-zebradaemon-output.log
9 KOHA_CONF=__KOHA_CONF_DIR__/koha-conf.xml
10 RUNDIR=__ZEBRA_RUN_DIR__
11 LOCKDIR=__ZEBRA_LOCK_DIR__
12 # you may need to change this depending on where zebrasrv is installed
13 ZEBRASRV=/usr/bin/zebrasrv
14
15 test -f $ZEBRASRV || exit 0
16
17 case "$1" in
18     start)
19       echo "Starting Zebra Server"
20
21       # create run and lock directories if needed;
22       # /var/run and /var/lock are completely cleared at boot
23       # on some platforms
24       if [[ ! -d $RUNDIR ]]; then
25         umask 022
26         mkdir -p $RUNDIR
27         chown $USER:$GROUP $RUNDIR
28       fi
29       if [[ ! -d $LOCKDIR ]]; then
30         umask 022
31         mkdir -p $LOCKDIR
32         mkdir -p $LOCKDIR/biblios
33         mkdir -p $LOCKDIR/authorities
34         chown -R $USER:$GROUP $LOCKDIR
35       fi
36
37       daemon --name=$NAME --errlog=$ERRLOG --stdout=$STDOUT --output=$OUTPUT --verbose=1 --respawn --delay=30 --user=$USER.$GROUP -- $ZEBRASRV -f $KOHA_CONF 
38       ;;
39     stop)
40       echo "Stopping Zebra Server"
41       daemon --name=$NAME --errlog=$ERRLOG --stdout=$STDOUT --output=$OUTPUT --verbose=1 --respawn --delay=30 --user=$USER.$GROUP --stop -- $ZEBRASRV -f $KOHA_CONF 
42       ;;
43     restart)
44       echo "Restarting the Zebra Server"
45       daemon --name=$NAME --errlog=$ERRLOG --stdout=$STDOUT --output=$OUTPUT --verbose=1 --respawn --delay=30 --user=$USER.$GROUP --restart -- $ZEBRASRV -f $KOHA_CONF 
46       ;;
47     *)
48       echo "Usage: /etc/init.d/$NAME {start|stop|restart}"
49       exit 1
50       ;;
51 esac