|
Lines 1-6
Link Here
|
| 1 |
#!/bin/sh |
1 |
#!/bin/sh |
| 2 |
# |
2 |
# |
| 3 |
# koha-disable -- disable a Koha instance. |
3 |
# koha-disable -- disable 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 20-39
Link Here
|
| 20 |
set -e |
20 |
set -e |
| 21 |
|
21 |
|
| 22 |
|
22 |
|
| 23 |
die() { |
23 |
die() |
|
|
24 |
{ |
| 24 |
echo "$@" 1>&2 |
25 |
echo "$@" 1>&2 |
| 25 |
exit 1 |
26 |
exit 1 |
| 26 |
} |
27 |
} |
| 27 |
|
28 |
|
|
|
29 |
warn() |
| 30 |
{ |
| 31 |
echo "$@" 1>&2 |
| 32 |
} |
| 33 |
|
| 34 |
is_enabled() |
| 35 |
{ |
| 36 |
local instancename=$1 |
| 37 |
|
| 38 |
if ! is_instance $instancename; then |
| 39 |
return 1 |
| 40 |
fi |
| 41 |
|
| 42 |
if grep -q '^[[:space:]]*Include /etc/koha/apache-shared-disable.conf' \ |
| 43 |
"/etc/apache2/sites-available/$instancename" ; then |
| 44 |
return 1 |
| 45 |
else |
| 46 |
return 0 |
| 47 |
fi |
| 48 |
} |
| 49 |
|
| 50 |
is_instance() |
| 51 |
{ |
| 52 |
local instancename=$1 |
| 53 |
|
| 54 |
if find /etc/koha/sites -mindepth 1 -maxdepth 1 \ |
| 55 |
-type d -printf '%f\n'\ |
| 56 |
| grep -q -x $instancename ; then |
| 57 |
return 0 |
| 58 |
else |
| 59 |
return 1 |
| 60 |
fi |
| 61 |
} |
| 62 |
|
| 63 |
disable_instance() |
| 64 |
{ |
| 65 |
local instancename=$1 |
| 66 |
|
| 67 |
if is_enabled $instancename; then |
| 68 |
sed -i 's:^\s*#\(\s*Include /etc/koha/apache-shared-disable.conf\)$:\1:' \ |
| 69 |
"/etc/apache2/sites-available/$instancename" |
| 70 |
return 0 |
| 71 |
else |
| 72 |
return 1 |
| 73 |
fi |
| 74 |
} |
| 28 |
|
75 |
|
| 29 |
# Parse command line. |
76 |
# Parse command line. |
| 30 |
[ "$#" = 1 ] || die "Usage: $0 instancename..." |
77 |
[ "$#" > 1 ] || die "Usage: $0 instancename..." |
| 31 |
|
78 |
|
|
|
79 |
restart_apache="no" |
| 32 |
|
80 |
|
| 33 |
for name in "$@" |
81 |
for name in "$@" |
| 34 |
do |
82 |
do |
| 35 |
sed -i 's:^\s*#\(\s*Include /etc/koha/apache-shared-disable.conf\)$:\1:' \ |
83 |
if is_instance $name ; then |
| 36 |
"/etc/apache2/sites-available/$name" |
84 |
if disable_instance $name; then |
|
|
85 |
restart_apache="yes" |
| 86 |
else |
| 87 |
warn "Instance $name already disabled." |
| 88 |
fi |
| 89 |
else |
| 90 |
warn "Unknown instance $name." |
| 91 |
fi |
| 37 |
done |
92 |
done |
| 38 |
|
93 |
|
| 39 |
/etc/init.d/apache2 restart |
94 |
if [ "$restart_apache" = "yes" ]; then |
|
|
95 |
/etc/init.d/apache2 restart |
| 96 |
fi |
| 97 |
|
| 98 |
exit 0 |
| 99 |
|
| 40 |
- |
|
|