Bug 13896: (QA followup) fix koha-{stop|restart}-zebra too
[koha.git] / debian / scripts / koha-restart-zebra
blobb978b5e0de316bd74c6ab3246f4134b8e6fd222a
1 #!/bin/sh
3 # koha-restart-zebra - Restart Zebra for named Koha instances
4 # Copyright 2010 Catalyst IT, Ltd
5 #
6 # This program is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program. If not, see <http://www.gnu.org/licenses/>.
19 set -e
21 # include helper functions
22 if [ -f "/usr/share/koha/bin/koha-functions.sh" ]; then
23 . "/usr/share/koha/bin/koha-functions.sh"
24 else
25 echo "Error: /usr/share/koha/bin/koha-functions.sh not present." 1>&2
26 exit 1
29 restart_zebra_instance()
31 local instancename=$1
33 if is_zebra_running $instancename; then
34 echo "Restarting Zebra server for $instancename"
35 daemon \
36 --name="$instancename-koha-zebra" \
37 --pidfiles="/var/run/koha/$instancename/" \
38 --errlog="/var/log/koha/$instancename/zebra-error.log" \
39 --stdout="/var/log/koha/$instancename/zebra.log" \
40 --output="/var/log/koha/$instancename/zebra-output.log" \
41 --verbose=1 \
42 --respawn \
43 --delay=30 \
44 --user="$instancename-koha.$instancename-koha" \
45 --restart \
46 -- \
47 zebrasrv \
48 -v none,fatal,warn \
49 -f "/etc/koha/sites/$instancename/koha-conf.xml" && \
50 return 0
51 else
52 return 1
56 start_zebra_instance()
58 local instancename=$1
60 if is_enabled $instancename; then
61 echo "Starting Zebra server for $instancename"
62 daemon \
63 --name="$instancename-koha-zebra" \
64 --pidfiles="/var/run/koha/$instancename/" \
65 --errlog="/var/log/koha/$instancename/zebra-error.log" \
66 --stdout="/var/log/koha/$instancename/zebra.log" \
67 --output="/var/log/koha/$instancename/zebra-output.log" \
68 --verbose=1 \
69 --respawn \
70 --delay=30 \
71 --user="$instancename-koha.$instancename-koha" \
72 -- \
73 zebrasrv \
74 -v none,fatal,warn \
75 -f "/etc/koha/sites/$instancename/koha-conf.xml" && \
76 return 0
77 else
78 return 1
82 usage()
84 local scriptname=$0
85 cat <<EOF
86 Restart Zebra for Koha instances.
88 Usage: $scriptname instancename1 instancename2...
90 EOF
93 # Parse command line.
94 #[ $# -ge 1 ] || ( usage ; die "Missing instance name..." )
96 # Loop through the instance names
97 for name in "$@"
99 if is_instance $name ; then
100 if ! is_zebra_running $name; then
101 warn "Zebra does not appear to have been running for instance $name."
103 if ! start_zebra_instance $name ; then
104 warn "Something went wrong starting Zebra for $name."
106 else
107 if ! restart_zebra_instance $name; then
108 warn "Something went wrong restarting Zebra for $name."
111 else
112 warn "Unknown instance $name."
114 done
116 exit 0