#!/bin/sh
#
-# koha-stop-zebra -- Stop Zebra for named Koha instandes
+# koha-stop-zebra - Stop Zebra for named Koha instances
# Copyright 2010 Catalyst IT, Ltd
#
# This program is free software: you can redistribute it and/or modify
set -e
-for name in "$@"
-do
- echo "Stopping Zebra server for $name"
+# include helper functions
+if [ -f "/usr/share/koha/bin/koha-functions.sh" ]; then
+ . "/usr/share/koha/bin/koha-functions.sh"
+else
+ echo "Error: /usr/share/koha/bin/koha-functions.sh not present." 1>&2
+ exit 1
+fi
+
+stop_zebra_instance()
+{
+ local instancename=$1
+
+ echo "Stopping Zebra server for $instancename"
daemon \
- --name="$name-koha-zebra" \
- --errlog="/var/log/koha/$name/zebra-error.log" \
- --stdout="/var/log/koha/$name/zebra.log" \
- --output="/var/log/koha/$name/zebra-output.log" \
+ --name="$instancename-koha-zebra" \
+ --errlog="/var/log/koha/$instancename/zebra-error.log" \
+ --stdout="/var/log/koha/$instancename/zebra.log" \
+ --output="/var/log/koha/$instancename/zebra-output.log" \
--verbose=1 \
--respawn \
--delay=30 \
- --user="$name-koha.$name-koha" \
+ --user="$instancename-koha.$instancename-koha" \
--stop \
-- \
zebrasrv \
- -f "/etc/koha/sites/$name/koha-conf.xml" || true
+ -v none,fatal,warn \
+ -f "/etc/koha/sites/$instancename/koha-conf.xml" && \
+ return 0 || \
+ return 1
+}
+
+usage()
+{
+ local scriptname=$0
+ cat <<EOF
+Stops Zebra for Koha instances.
+
+Usage: $scriptname instancename1 instancename2...
+
+EOF
+}
+
+# Parse command line.
+#[ $# -ge 1 ] || ( usage ; die "Missing instance name..." )
+
+# Loop through the instance names
+for name in "$@"
+do
+ if is_instance $name ; then
+ if is_enabled $name ; then
+ if is_zebra_running $name; then
+ if ! stop_zebra_instance $name; then
+ warn "Something went wrong stopping Zebra for $name."
+ fi
+ else
+ warn "Zebra already stopped for instance $name."
+ fi
+ else
+ warn "Instance $name disabled. No action taken."
+ fi
+ else
+ warn "Unknown instance $name."
+ fi
done
+
+exit 0