#!/bin/sh # # Copyright (c) 2016 Nagios(R) Core(TM) Development Team # # chkconfig: - 80 30 # description: Starts and stops the Nagios Remote Plugin Executor \ # so a remote nagios server can run plugins on this host # ### BEGIN INIT INFO # Provides: nrpe # Required-Start: $local_fs $remote_fs $time # Required-Stop: $local_fs $remote_fs # Should-Start: $syslog $network # Should-Stop: $syslog $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Starts and stops the Nagios Remote Plugin Executor # Description: Starts and stops the Nagios Remote Plugin Executor # so a remote nagios server can run plugins on this host ### END INIT INFO NRPE_BIN=@sbindir@/nrpe NRPE_CFG=@pkgsysconfdir@/nrpe.cfg LOCK_DIR=@subsyslockdir@ LOCK_FILE=@subsyslockfile@ PID_FILE=@piddir@/nrpe.pid test -x $NRPE_BIN || exit 5 RETVAL=0 _set_rc (){ return; } # Default these commands/functions to RedHat/CentOS etc. values MSG_CMD="echo -n" START_CMD="daemon --pidfile $PID_FILE" TERM_CMD="killproc -p $PID_FILE $NRPE_BIN -TERM" HUP_CMD="killproc -p $PID_FILE $NRPE_BIN -HUP" PRT_STAT="echo" STAT_MSG="echo -n Checking for nrpe daemon... " STAT_CMD="status nrpe" EXIT_CMD="exit" # Source the function library if [ -f /etc/rc.status ]; then . /etc/rc.status _set_rc (){ return $RETVAL; } # Set these commands/functions to SuSE etc. values START_CMD="startproc -p $PID_FILE" TERM_CMD="killproc -p $PID_FILE -TERM $NRPE_BIN" HUP_CMD="killproc -p $PID_FILE -HUP $NRPE_BIN" PRT_STAT="rc_status -v -r" STAT_CMD="checkproc -p $PID_FILE $NRPE_BIN" EXIT_CMD="rc_exit" rc_reset elif [ -f /etc/rc.d/init.d/functions ]; then . /etc/rc.d/init.d/functions elif [ -f /etc/init.d/functions ]; then . /etc/init.d/functions elif [ -f /lib/lsb/init-functions ]; then . /lib/lsb/init-functions MSG_CMD="log_daemon_msg" START_CMD="start_daemon -p $PID_FILE" PRT_STAT="log_end_msg" STAT_MSG= STAT_CMD="status_of_proc -p $PID_FILE $NRPE_BIN nrpe" elif [ -f /etc/rc.d/functions ]; then . /etc/rc.d/functions fi # See how we were called. case "$1" in start) # Start daemons. $MSG_CMD "Starting nrpe " $START_CMD $NRPE_BIN -c $NRPE_CFG -d RETVAL=$? if test "$PRT_STAT" = log_end_msg; then $PRT_STAT $RETVAL else _set_rc; $PRT_STAT fi if [ $RETVAL = 0 ]; then [ -d $LOCK_DIR ] && touch $LOCK_FILE || true fi ;; stop) # Stop daemons. $MSG_CMD "Shutting down nrpe " $TERM_CMD RETVAL=$? if test "$PRT_STAT" = log_end_msg; then $PRT_STAT $RETVAL else _set_rc; $PRT_STAT fi if [ $RETVAL = 0 ]; then [ -d $LOCK_DIR ] && rm -f $LOCK_FILE fi ;; restart|force-reload) $0 stop $0 start RETVAL=$? ;; reload) $MSG_CMD "Reloading nrpe " $HUP_CMD RETVAL=$? if test "$PRT_STAT" = log_end_msg; then $PRT_STAT $RETVAL else _set_rc; $PRT_STAT fi ;; try-restart|condrestart) $STAT_CMD || exit 0 $0 stop $0 start RETVAL=$? ;; status) $STAT_MSG $STAT_CMD RETVAL=$? if test "$PRT_STAT" != log_end_msg; then _set_rc; $PRT_STAT fi ;; *) echo "Usage: nrpe {start|stop|restart|reload|try-restart|condrestart|status}" exit 1 esac $EXIT_CMD $RETVAL