81 lines
1.4 KiB
Bash
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
|