Translation updates for Koha 3.18.0-beta release
[koha.git] / debian / scripts / koha-restart-zebra
1 #!/bin/sh
2 #
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.
10
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.
15
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/>.
18
19 set -e
20
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
27 fi
28
29 restart_zebra_instance()
30 {
31     local instancename=$1
32
33     if is_zebra_running $instancename; then
34         echo "Restarting Zebra server for $instancename"
35         daemon \
36             --name="$instancename-koha-zebra" \
37             --errlog="/var/log/koha/$instancename/zebra-error.log" \
38             --stdout="/var/log/koha/$instancename/zebra.log" \
39             --output="/var/log/koha/$instancename/zebra-output.log" \
40             --verbose=1 \
41             --respawn \
42             --delay=30 \
43             --user="$instancename-koha.$instancename-koha" \
44             --restart \
45             -- \
46             zebrasrv \
47             -v none,fatal,warn \
48             -f "/etc/koha/sites/$instancename/koha-conf.xml" && \
49         return 0
50     else
51         return 1
52     fi
53 }
54
55 start_zebra_instance()
56 {
57     local instancename=$1
58
59     if is_enabled $instancename; then
60         echo "Starting Zebra server for $instancename"
61         daemon \
62             --name="$instancename-koha-zebra" \
63             --errlog="/var/log/koha/$instancename/zebra-error.log" \
64             --stdout="/var/log/koha/$instancename/zebra.log" \
65             --output="/var/log/koha/$instancename/zebra-output.log" \
66             --verbose=1 \
67             --respawn \
68             --delay=30 \
69             --user="$instancename-koha.$instancename-koha" \
70             -- \
71             zebrasrv \
72             -v none,fatal,warn \
73             -f "/etc/koha/sites/$instancename/koha-conf.xml" && \
74         return 0
75     else
76         return 1
77     fi
78 }
79
80 usage()
81 {
82     local scriptname=$0
83     cat <<EOF
84 Restart Zebra for Koha instances.
85
86 Usage: $scriptname instancename1 instancename2...
87
88 EOF
89 }
90
91 # Parse command line.
92 #[ $# -ge 1 ] || ( usage ; die "Missing instance name..." )
93
94 # Loop through the instance names
95 for name in "$@"
96 do
97     if is_instance $name ; then
98         if is_enabled $name ; then
99
100             if ! is_zebra_running $name; then
101                 warn "Zebra does not appear to have been running for instance $name."
102
103                 if ! start_zebra_instance $name ; then
104                     warn "Something went wrong starting Zebra for $name."
105                 fi
106             else
107                 if ! restart_zebra_instance $name; then
108                   warn "Something went wrong restarting Zebra for $name."
109                 fi
110             fi
111         else
112             warn "Instance $name disabled. No action taken."
113         fi
114     else
115         warn "Unknown instance $name."
116     fi
117 done
118
119 exit 0