diff options
Diffstat (limited to 'network/nsca/rc.nsca')
-rw-r--r-- | network/nsca/rc.nsca | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/network/nsca/rc.nsca b/network/nsca/rc.nsca new file mode 100644 index 0000000000000..25812bcb596da --- /dev/null +++ b/network/nsca/rc.nsca @@ -0,0 +1,79 @@ +#!/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> + +BIN=/usr/bin/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 |