Bug 10624: add 'status' option switch for the packages init script

This patch makes the init script return the status of the relevant
processes.

To test:
- Apply the patch, build package and install
- Run
 $ service koha-common status

Note: it can be tested just copying the debian/koha-common.init script
to a server running koha-common instances and calling it

 $ ./koha-common.init status

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This commit is contained in:
Tomas Cohen Arazi 2013-08-30 13:17:55 -03:00 committed by Galen Charlton
parent bdbe2545cd
commit 45b5bef893
1 changed files with 74 additions and 6 deletions

View File

@ -70,6 +70,75 @@ do_reload() {
koha-start-sip $(koha-list --enabled)
}
#
# Function that checks zebrasrv is running for the specified instance
#
is_zebra_running()
{
local instancename=$1
if daemon --name="$instancename-koha-zebra" \
--user="$instancename-koha.$instancename-koha" \
--running ; then
return 0
else
return 1
fi
}
#
# Function that checks SIP server is running for the specified instance
#
is_sip_running()
{
local instancename=$1
if daemon --name="$instancename-koha-sip" \
--pidfiles="/var/run/koha/$instancename" \
--user="$instancename-koha.$instancename-koha" \
--running ; then
return 0
else
return 1
fi
}
#
# Function that shows the status of the zebrasrv daemon for
# enabled instances
#
zebra_status()
{
for instance in $(koha-list --enabled); do
log_daemon_msg "Zebra server running for instace $instance"
if is_zebra_running $instance ; then
log_end_msg 0
else
log_end_msg 1
fi
done
}
#
# Function that shows the status of the SIP server daemon for
# enabled instances
#
sip_status()
{
for instance in $(koha-list --enabled --sip); do
log_daemon_msg "SIP server running for instace $instance"
if is_sip_running $instance ; then
log_end_msg 0
else
log_end_msg 1
fi
done
}
case "$1" in
start)
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
@ -108,13 +177,12 @@ case "$1" in
;;
esac
;;
# TODO: Implement this. It should check every daemon is running
# status)
# status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
# ;;
status)
zebra_status
sip_status
;;
*)
#echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}" >&2
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}" >&2
exit 3
;;
esac