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

(-)a/debian/scripts/koha-remove (-16 / +39 lines)
Lines 19-48 Link Here
19
19
20
set -e
20
set -e
21
21
22
NAMES="$@"
22
23
23
for name in "$@"
24
SITECONFDIR="/etc/koha/sites"
25
# There has to be a better way of excluding '.' from find. But this works.
26
INSTANCES=`cd $SITECONFDIR && find . -type d -printf " %f" |sed s/\ .\ //`
27
28
if [ -z $NAMES ] ; then
29
    echo "Please specify a Koha instance name. Your choices are:"
30
    echo "$INSTANCES"
31
    exit 1
32
fi
33
34
for name in $NAMES
24
do
35
do
36
    # Does the directory (ie instance) name exist?
37
    if [ ! -d $SITECONFDIR/$name ] ; then
38
	echo Koha configuration directory for instance \"$name\" does not exist, please specify a valid Koha instance
39
	exit 1
40
    fi
41
25
    echo "Removing Koha instance $name"
42
    echo "Removing Koha instance $name"
26
43
44
    # The grant creates the user in case it isn't, we don't want our loop to fail if it has already being deleted.
27
    mysql --defaults-extra-file=/etc/mysql/koha-common.cnf <<eof
45
    mysql --defaults-extra-file=/etc/mysql/koha-common.cnf <<eof
46
GRANT USAGE ON \`koha_$name\`.* TO \`koha_$name\`@\`%\`;
28
DROP USER \`koha_$name\`;
47
DROP USER \`koha_$name\`;
29
DROP DATABASE \`koha_$name\`;
48
DROP DATABASE IF EXISTS \`koha_$name\`;
30
FLUSH PRIVILEGES;
49
FLUSH PRIVILEGES;
31
eof
50
eof
32
    
51
    
33
    koha-stop-zebra $name
52
    # If the daemon is not running already, we don't want to fail this loop. So bin the result code if this fails.
34
    rm "/etc/apache2/sites-available/$name"
53
    koha-stop-zebra $name | /bin/true
35
    rm "/etc/koha/sites/$name/koha-conf.xml"
54
    rm -f "/etc/apache2/sites-available/$name"
36
    rm "/etc/koha/sites/$name/zebra-biblios.cfg"
55
    rm -f "$SITECONFDIR/$name/koha-conf.xml"
37
    rm "/etc/koha/sites/$name/zebra-authorities.cfg"
56
    rm -f "$SITECONFDIR/$name/zebra-biblios.cfg"
38
    rm "/etc/koha/sites/$name/zebra-authorities-dom.cfg"
57
    rm -f "$SITECONFDIR/$name/zebra-authorities.cfg"
39
    rm "/etc/koha/sites/$name/zebra.passwd"
58
    rm -f "$SITECONFDIR/$name/zebra-authorities-dom.cfg"
40
    rmdir "/etc/koha/sites/$name"
59
    rm -f "$SITECONFDIR/$name/zebra.passwd"
41
    rm -r "/var/lock/koha/$name"
60
    # Maybe a user has left something in the config directory they want to keep? We won't delete it here, nor throw an error if they have.
42
    rm -r "/var/log/koha/$name"
61
    rmdir --ignore-fail-on-non-empty "$SITECONFDIR/$name" 
43
    rm -r "/var/run/koha/$name"
62
    rm -rf "/var/lock/koha/$name"
44
    deluser --quiet "$name-koha"
63
    rm -rf "/var/log/koha/$name"
45
    a2dissite "$name"
64
    rm -rf "/var/run/koha/$name"
65
    # Frequently warns about the mailspool dir. Sometimes the daemon has not stopped yet. So work around the non-zero result code.
66
    echo "Deleting Koha user for $name"
67
    userdel --force --remove "$name-koha" &> /dev/null | /bin/true
68
    # in case the site has already been disabled, we don't want to break the loop now.
69
    a2dissite "$name" | /bin/true
46
done
70
done
47
71
48
service apache2 restart
72
service apache2 restart
49
- 

Return to bug 6684