Marcel de Rooy
7412523624
The file zebra.log is actually not used, because daemon's --output parameter sends all message to zebra-output (making that stdout goes there too and --stdout does nothing). We do not need any differentiation (if any at all) here; behavior does not change. Note: zebra-error will only contain the daemon's error messages and not the zebra error messages! So you will probably only find messages about stopping zebra in zebra-error. The loglevels are by default none,fatal,warn and can be changed via the zebra_loglevels config variable (read by koha-functions.sh). If you remove 'none', you will have request-messages in the log. You can also keep 'none' and add 'request' to achieve something similar (undocumented however). Some of the parameters passed to daemon when stopping zebra are superfluous and have been removed. Test plan: [1] Remove the file zebra.log. Look at last lines in zebra-error and zebra-output. [2] Remove zebra_loglevels from koha-conf (if present). Start/restart Zebra. Search to verify if Zebra runs. Stop Zebra and check zebra-error for a new line (killed by signal 15). [3] Add fatal,warn in koha-conf:zebra_loglevels (do not include 'none'). Start Zebra. Check zebra-output for a line "[log] zebra_start". Do a search and check zebra-output for lines with "[request]". [4] Verify that zebra.log did not appear again. Signed-off-by: Mark Tompsett <mtompset@hotmail.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
89 lines
2.6 KiB
Bash
Executable file
89 lines
2.6 KiB
Bash
Executable file
#!/bin/sh
|
|
#
|
|
# koha-start-zebra - Start 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 <http://www.gnu.org/licenses/>.
|
|
|
|
set -e
|
|
|
|
# include helper functions
|
|
if [ -f "/usr/share/koha/bin/koha-functions.sh" ]; then
|
|
. "/usr/share/koha/bin/koha-functions.sh"
|
|
else
|
|
echo "Error: /usr/share/koha/bin/koha-functions.sh not present." 1>&2
|
|
exit 1
|
|
fi
|
|
|
|
start_zebra_instance()
|
|
{
|
|
local instancename=$1
|
|
|
|
# get zebra log levels from koha-conf.xml
|
|
local loglevels=$(get_loglevels $instancename)
|
|
|
|
echo "Starting Zebra server for $instancename"
|
|
touch "/var/log/koha/$instancename/zebra-error.log" \
|
|
"/var/log/koha/$instancename/zebra-output.log"
|
|
chown "$instancename-koha:$instancename-koha" \
|
|
"/var/log/koha/$instancename/zebra-error.log" \
|
|
"/var/log/koha/$instancename/zebra-output.log"
|
|
daemon \
|
|
--name="$instancename-koha-zebra" \
|
|
--pidfiles="/var/run/koha/$instancename/" \
|
|
--errlog="/var/log/koha/$instancename/zebra-error.log" \
|
|
--output="/var/log/koha/$instancename/zebra-output.log" \
|
|
--verbose=1 \
|
|
--respawn \
|
|
--delay=30 \
|
|
--user="$instancename-koha.$instancename-koha" \
|
|
-- \
|
|
zebrasrv \
|
|
-v $loglevels \
|
|
-f "/etc/koha/sites/$instancename/koha-conf.xml" && \
|
|
return 0 || \
|
|
return 1
|
|
}
|
|
|
|
usage()
|
|
{
|
|
local scriptname=$0
|
|
cat <<EOF
|
|
Starts Zebra for Koha instances.
|
|
|
|
Usage: $scriptname instancename1 instancename2...
|
|
|
|
EOF
|
|
}
|
|
|
|
# Parse command line.
|
|
#[ $# -ge 1 ] || ( usage ; die "Missing instance name..." )
|
|
|
|
# Loop through the instance names
|
|
for name in "$@"
|
|
do
|
|
if is_instance $name ; then
|
|
if ! is_zebra_running $name; then
|
|
if ! start_zebra_instance $name; then
|
|
warn "Something went wrong starting Zebra for $name."
|
|
fi
|
|
else
|
|
warn "Zebra already running for instance $name."
|
|
fi
|
|
else
|
|
warn "Unknown instance $name."
|
|
fi
|
|
done
|
|
|
|
exit 0
|