#!/bin/sh # # koha-restart-zebra - Restart Zebra for named Koha instances # Copyright 2010 Catalyst IT, Ltd # # This program 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 3 of the License, or # (at your option) any later version. # # This program 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 this program. If not, see . set -e die() { echo "$@" 1>&2 exit 1 } warn() { echo "$@" 1>&2 } is_enabled() { local instancename=$1 if ! is_instance $instancename; then return 1 fi if grep -q '^[[:space:]]*Include /etc/koha/apache-shared-disable.conf' \ "/etc/apache2/sites-available/$instancename" ; then return 1 else return 0 fi } is_instance() { local instancename=$1 if find /etc/koha/sites -mindepth 1 -maxdepth 1 \ -type d -printf '%f\n'\ | grep -q -x $instancename ; then return 0 else return 1 fi } is_zebra_running() { local instancename=$1 if daemon --name="$instancename-koha-zebra" \ --user="$instancename-koha.$instancename-koha" \ --running ; then return 0 else return 1 fi } restart_zebra_instance() { local instancename=$1 if is_zebra_running $instancename; then echo "Restarting Zebra server for $instancename" daemon \ --name="$instancename-koha-zebra" \ --errlog="/var/log/koha/$instancename/zebra-error.log" \ --stdout="/var/log/koha/$instancename/zebra.log" \ --output="/var/log/koha/$instancename/zebra-output.log" \ --verbose=1 \ --respawn \ --delay=30 \ --user="$instancename-koha.$instancename-koha" \ --restart \ -- \ zebrasrv \ -v none,fatal,warn \ -f "/etc/koha/sites/$instancename/koha-conf.xml" && \ return 0 else return 1 fi } start_zebra_instance() { local instancename=$1 if is_enabled $instancename; then echo "Starting Zebra server for $instancename" daemon \ --name="$instancename-koha-zebra" \ --errlog="/var/log/koha/$instancename/zebra-error.log" \ --stdout="/var/log/koha/$instancename/zebra.log" \ --output="/var/log/koha/$instancename/zebra-output.log" \ --verbose=1 \ --respawn \ --delay=30 \ --user="$instancename-koha.$instancename-koha" \ -- \ zebrasrv \ -v none,fatal,warn \ -f "/etc/koha/sites/$instancename/koha-conf.xml" && \ return 0 else return 1 fi } usage() { local scriptname=$0 cat <