View | Details | Raw Unified | Return to bug 10149
Collapse All | Expand All

(-)a/debian/scripts/koha-restart-zebra (-17 / +142 lines)
Lines 1-6 Link Here
1
#!/bin/sh
1
#!/bin/sh
2
#
2
#
3
# koha-restart-zebra -- Restart Zebra for named Koha instandes
3
# koha-restart-zebra - Restart Zebra for named Koha instances
4
# Copyright 2010  Catalyst IT, Ltd
4
# Copyright 2010  Catalyst IT, Ltd
5
# 
5
# 
6
# This program is free software: you can redistribute it and/or modify
6
# This program is free software: you can redistribute it and/or modify
Lines 18-38 Link Here
18
18
19
set -e
19
set -e
20
20
21
die()
22
{
23
    echo "$@" 1>&2
24
    exit 1
25
}
26
27
warn()
28
{
29
    echo "$@" 1>&2
30
}
31
32
is_enabled()
33
{
34
    local instancename=$1
35
36
    if ! is_instance $instancename; then
37
        return 1
38
    fi
39
40
    if grep -q '^[[:space:]]*Include /etc/koha/apache-shared-disable.conf' \
41
            "/etc/apache2/sites-available/$instancename" ; then
42
        return 1
43
    else
44
        return 0
45
    fi
46
}
47
48
is_instance()
49
{
50
    local instancename=$1
51
52
    if find /etc/koha/sites -mindepth 1 -maxdepth 1 \
53
                         -type d -printf '%f\n'\
54
          | grep -q -x $instancename ; then
55
        return 0
56
    else
57
        return 1
58
    fi
59
}
60
61
is_zebra_running()
62
{
63
    local instancename=$1
64
65
    if daemon --name="$instancename-koha-zebra" \
66
            --user="$instancename-koha.$instancename-koha" \
67
            --running ; then
68
        return 0
69
    else
70
        return 1
71
    fi
72
}
73
74
restart_zebra_instance()
75
{
76
    local instancename=$1
77
78
    if is_zebra_running $instancename; then
79
        echo "Restarting Zebra server for $instancename"
80
        daemon \
81
            --name="$instancename-koha-zebra" \
82
            --errlog="/var/log/koha/$instancename/zebra-error.log" \
83
            --stdout="/var/log/koha/$instancename/zebra.log" \
84
            --output="/var/log/koha/$instancename/zebra-output.log" \
85
            --verbose=1 \
86
            --respawn \
87
            --delay=30 \
88
            --user="$instancename-koha.$instancename-koha" \
89
            --restart \
90
            -- \
91
            zebrasrv \
92
            -v none,fatal,warn \
93
            -f "/etc/koha/sites/$instancename/koha-conf.xml" && \
94
        return 0
95
    else
96
        return 1
97
    fi
98
}
99
100
start_zebra_instance()
101
{
102
    local instancename=$1
103
104
    if is_enabled $instancename; then
105
        echo "Starting Zebra server for $instancename"
106
        daemon \
107
            --name="$instancename-koha-zebra" \
108
            --errlog="/var/log/koha/$instancename/zebra-error.log" \
109
            --stdout="/var/log/koha/$instancename/zebra.log" \
110
            --output="/var/log/koha/$instancename/zebra-output.log" \
111
            --verbose=1 \
112
            --respawn \
113
            --delay=30 \
114
            --user="$instancename-koha.$instancename-koha" \
115
            -- \
116
            zebrasrv \
117
            -v none,fatal,warn \
118
            -f "/etc/koha/sites/$instancename/koha-conf.xml" && \
119
        return 0
120
    else
121
        return 1
122
    fi
123
}
124
125
usage()
126
{
127
    local scriptname=$0
128
    cat <<EOF
129
Restart Zebra for Koha instances.
130
131
Usage: $scriptname instancename1 instancename2...
132
133
EOF
134
}
135
136
# Parse command line.
137
[ $# -ge 1 ] || ( usage ; die "Missing instance name..." )
138
139
# Loop through the instance names
21
for name in "$@"
140
for name in "$@"
22
do
141
do
23
    echo "Restarting Zebra server for $name"
142
    if is_instance $name ; then
24
    daemon \
143
        if is_enabled $name ; then
25
        --name="$name-koha-zebra" \
144
26
        --errlog="/var/log/koha/$name/zebra-error.log" \
145
            if ! is_zebra_running $name; then
27
        --stdout="/var/log/koha/$name/zebra.log" \
146
                warn "Zebra does not appear to have been running for instance $name."
28
        --output="/var/log/koha/$name/zebra-output.log" \
147
29
        --verbose=1 \
148
                if ! start_zebra_instance $name ; then
30
        --respawn \
149
                    warn "Something went wrong starting Zebra for $name."
31
        --delay=30 \
150
                fi
32
        --user="$name-koha.$name-koha" \
151
            else
33
        --restart \
152
                if ! restart_zebra_instance $name; then
34
        -- \
153
                  warn "Something went wrong restarting Zebra for $name."
35
        zebrasrv \
154
                fi
36
        -v none,fatal,warn \
155
            fi
37
        -f "/etc/koha/sites/$name/koha-conf.xml"
156
        else
157
            warn "Instance $name disabled. No action taken."
158
        fi
159
    else
160
        warn "Unknown instance $name."
161
    fi
38
done
162
done
39
- 
163
164
exit 0

Return to bug 10149