#!/bin/bash # This file is part of Koha. # # Koha is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License as published by the Free Software # Foundation; either version 2 of the License, or (at your option) any later # version. # # Koha is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. See the GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along with # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, # Suite 330, Boston, MA 02111-1307 USA ### BEGIN INIT INFO # Provides: koha-zebra-daemon # Required-Start: $syslog $remote_fs # Required-Stop: $syslog $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Zebra server daemon for Koha indexing ### END INIT INFO USER=__KOHA_USER__ GROUP=__KOHA_GROUP__ DBNAME=__DB_NAME__ NAME=koha-zebra-ctl.$DBNAME LOGDIR=__LOG_DIR__ ERRLOG=$LOGDIR/koha-zebradaemon.err STDOUT=$LOGDIR/koha-zebradaemon.log OUTPUT=$LOGDIR/koha-zebradaemon-output.log KOHA_CONF=__KOHA_CONF_DIR__/koha-conf.xml RUNDIR=__ZEBRA_RUN_DIR__ LOCKDIR=__ZEBRA_LOCK_DIR__ # you may need to change this depending on where zebrasrv is installed ZEBRASRV=__PATH_TO_ZEBRA__/zebrasrv ZEBRAOPTIONS="-v none,fatal,warn" test -f $ZEBRASRV || exit 0 OTHERUSER='' if [[ $EUID -eq 0 ]]; then OTHERUSER="--user=$USER.$GROUP" fi case "$1" in start) echo "Starting Zebra Server" # create run and lock directories if needed; # /var/run and /var/lock are completely cleared at boot # on some platforms if [[ ! -d $RUNDIR ]]; then umask 022 mkdir -p $RUNDIR if [[ $EUID -eq 0 ]]; then chown $USER:$GROUP $RUNDIR fi fi if [[ ! -d $LOCKDIR ]]; then umask 022 mkdir -p $LOCKDIR mkdir -p $LOCKDIR/biblios mkdir -p $LOCKDIR/authorities mkdir -p $LOCKDIR/rebuild if [[ $EUID -eq 0 ]]; then chown -R $USER:$GROUP $LOCKDIR fi fi daemon --name=$NAME --errlog=$ERRLOG --stdout=$STDOUT --output=$OUTPUT --verbose=1 --respawn --delay=30 $OTHERUSER -- $ZEBRASRV $ZEBRAOPTIONS -f $KOHA_CONF ;; stop) echo "Stopping Zebra Server" daemon --name=$NAME --errlog=$ERRLOG --stdout=$STDOUT --output=$OUTPUT --verbose=1 --respawn --delay=30 $OTHERUSER --stop -- $ZEBRASRV -f $KOHA_CONF ;; restart) echo "Restarting the Zebra Server" daemon --name=$NAME --errlog=$ERRLOG --stdout=$STDOUT --output=$OUTPUT --verbose=1 --respawn --delay=30 $OTHERUSER --restart -- $ZEBRASRV -f $KOHA_CONF ;; *) echo "Usage: /etc/init.d/$NAME {start|stop|restart}" exit 1 ;; esac