158 lines
3.1 KiB
Plaintext
158 lines
3.1 KiB
Plaintext
|
#!/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
|