[SIGNED-OFF] Bug 15113: koha-rebuild-zebra should check USE_INDEXER_DAEMON and skip...
[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             --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
53     fi
54 }
55
56 start_zebra_instance()
57 {
58     local instancename=$1
59
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
79     fi
80 }
81
82 usage()
83 {
84     local scriptname=$0
85     cat <<EOF
86 Restart Zebra for Koha instances.
87
88 Usage: $scriptname instancename1 instancename2...
89
90 EOF
91 }
92
93 # Parse command line.
94 #[ $# -ge 1 ] || ( usage ; die "Missing instance name..." )
95
96 # Loop through the instance names
97 for name in "$@"
98 do
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."
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 "Unknown instance $name."
113     fi
114 done
115
116 exit 0