#!/bin/sh # # nagios Start/Stop the Nagios(R) daemon # # chkconfig: - 90 10 # description: Nagios network/services monitor. # processname: nagios # config: /etc/nagios/nagios.cfg # pidfile: /var/run/nagios/nagios.pid ### BEGIN INIT INFO # Provides: nagios # Required-Start: $network $remote_fs $syslog # Required-Stop: $network $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start Nagios(R) monitoring daemon # Description: Start Nagios(R) monitoring daemon. ### END INIT INFO WITHOUT_RC_COMPAT=1 # Source function library . /etc/rc.d/init.d/functions NagiosCfg=/etc/nagios/nagios.cfg NagiosBin=/usr/sbin/nagios NagiosLog=/var/log/nagios/nagios.log NagiosSav=/var/lib/nagios/nagios.sav NagiosCmd=/var/lib/nagios/rw/nagios.cmd TMPDIR=/var/lib/nagios/tmp export TMPDIR NGUSER=nagios LOCKFILE=/var/lock/subsys/nagios PIDFILE=/var/run/nagios/nagios.pid [ -f $NagiosBin ] || exit 0 [ -f $NagiosCfg ] || exit 0 RETVAL=0 start() { su -l $NGUSER -s /bin/bash -c "touch $NagiosLog $NagiosSav" rm -f $NagiosCmd configtest #touch "$PIDFILE" #chown "$NGUSER":"$NGUSER" "$PIDFILE" start_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user "$NGUSER" -- $NagiosBin -d $NagiosCfg RETVAL=$? return $RETVAL } stop() { stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user "$NGUSER" nagios RETVAL=$? return $RETVAL } restart() { stop sleep 2 start } reload() { configtest RETVAL=$? if [ $RETVAL -eq 0 ]; then if test ! -f $PIDFILE; then start else if status nagios > /dev/null; then msg_reloading nagios stop_daemon --pidfile "$PIDFILE" --expect-user "$NGUSER" -HUP nagios else restart fi fi fi return $RETVAL } configtest() { $NagiosBin -v $NagiosCfg > /dev/null 2>&1; RETVAL=$? if [ $RETVAL -eq 0 ]; then return $RETVAL else $NagiosBin -v $NagiosCfg action $"failed - aborting ..." fi return $RETVAL } # See how we were called. case "$1" in start) start ;; stop) stop ;; reload) reload ;; restart) restart ;; condstop) if [ -e "$LOCKFILE" ]; then stop fi ;; condrestart) if [ -e "$LOCKFILE" ]; then restart fi ;; condreload) if [ -e "$LOCKFILE" ]; then reload fi ;; check) configtest ;; status) status --pidfile "$PIDFILE" --expect-user "$NGUSER" $NagiosBin RETVAL=$? ;; *) msg_usage "${0##*/} {start|stop|reload|restart|condstop|condrestart|condreload|check|status}" RETVAL=1 esac exit $RETVAL