slackbuilds/network/nsca/rc.nsca

81 lines
1.4 KiB
Bash

#!/bin/sh
#
# nsca daemon control script.
#
# This is an init script for the nsca daemon.
# To use nsca, you must first set up the config file(s).
#
# Written for Slackware Linux by Cherife li <cherife@dotimes.com>
# Modified for SBo by Zordrak <slackbuilds@tpa.me.uk>
# Modified by Mario Preksavec <mario@slackware.hr>
BIN=/usr/sbin/nsca
CFGFILE=/etc/nagios/nsca.cfg
PIDFILE=/var/run/nsca.pid
LOCKFILE=/var/lock/nsca
printstatus()
{
if [ -e $PIDFILE ]; then
echo "nsca (pid $PID) is running..."
else
echo "nsca is not running"
fi
}
killproc()
{
kill $2 $PID
}
getpid()
{
if test ! -f $PIDFILE; then
echo "Pid file $PIDFILE not found."
exit 1
else
PID=`head -n 1 $PIDFILE`
fi
}
# Check whether nsca bin file exists.
if [ ! -f $BIN ]; then
echo "Executable file $BIN not found. Exiting."
exit 1
fi
# Check whether nsca config exists.
if [ ! -f $CFGFILE ]; then
echo "Configuration file $CFGFILE not found. Exiting."
exit 1
fi
# Controls
case "$1" in
start)
echo -n "Starting nsca:"
$BIN -c $CFGFILE -d
touch $LOCKFILE
echo " done."
;;
stop)
echo -n "Stopping nsca:"
getpid
killproc nsca
rm -f $LOCKFILE
echo " done."
;;
status)
getpid
printstatus nsca
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: nsca {start|stop|restart|status}"
exit 1
;;
esac