renamed nagios-nrpe to nrpe to name the package like the upstream source OBS-URL: https://build.opensuse.org/request/show/148201 OBS-URL: https://build.opensuse.org/package/show/server:monitoring/nrpe?expand=0&rev=1
124 lines
3.2 KiB
Bash
124 lines
3.2 KiB
Bash
#!/bin/bash
|
|
#
|
|
# Copyright (c) 2010 SUSE Linux Products GmbH
|
|
# Authors: Lars Vogdt (2010-2012)
|
|
#
|
|
# /etc/init.d/nrpe
|
|
# and its symbolic link
|
|
# /usr/sbin/rcnrpe
|
|
#
|
|
### BEGIN INIT INFO
|
|
# Provides: nagios-nrpe
|
|
# Required-Start: $remote_fs $syslog $network
|
|
# Should-Start: cron
|
|
# Required-Stop: $remote_fs $syslog
|
|
# Should-Stop: cron
|
|
# Default-Start: 3 5
|
|
# Default-Stop: 0 1 2 6
|
|
# Short-Description: NRPE Nagios Remote Plugin Executor
|
|
# Description: Start NRPE to allow remote execution of
|
|
# Nagios plugins.
|
|
### END INIT INFO
|
|
|
|
NRPE_BIN="/usr/sbin/nrpe"
|
|
NRPE_CONFIG="/etc/nrpe.cfg"
|
|
DEFAULT_PIDFILE="/var/run/nrpe/nrpe.pid"
|
|
|
|
test -x $NRPE_BIN || { echo "$NRPE_BIN not installed";
|
|
if [ "$1" = "stop" ]; then exit 0;
|
|
else exit 5; fi; }
|
|
|
|
test -r $NRPE_CONFIG || { echo "$NRPE_CONFIG not existing";
|
|
if [ "$1" = "stop" ]; then exit 0;
|
|
else exit 6; fi; }
|
|
|
|
function get_value() {
|
|
if [ -n "$2" ]; then
|
|
set -- `grep ^$1 "$2" | sed 's@=@ @' | tr -d '[:cntrl:]'`
|
|
else
|
|
set -- `grep ^$1 "$NRPE_CONFIG" | sed 's@=@ @' | tr -d '[:cntrl:]'`
|
|
fi
|
|
shift # remove first ARG => search-string
|
|
echo $*
|
|
}
|
|
|
|
# Shell functions sourced from /etc/rc.status:
|
|
. /etc/rc.status
|
|
# Reset status of this service
|
|
rc_reset
|
|
|
|
case "$1" in
|
|
start)
|
|
echo -n "Starting Nagios NRPE "
|
|
pid_file="$(get_value pid_file)"
|
|
nrpe_group="$(get_value nrpe_group)"
|
|
nrpe_user="$(get_value nrpe_user)"
|
|
: ${pid_file=:=$DEFAULT_PIDFILE}
|
|
: ${nrpe_group:=nagios}
|
|
: ${nrpe_user:=nagios}
|
|
if [ -z "$pid_file" ]; then
|
|
PIDDIR=$(dirname $pid_file)
|
|
else
|
|
PIDDIR=$(dirname $DEFAULT_PIDFILE)
|
|
fi
|
|
case "$PIDDIR" in
|
|
/var/run)
|
|
if [ x"$nrpe_user" != x"root" ]; then
|
|
DATESTRING=$(date +"%Y%m%d")
|
|
mv -f "$NRPE_CONFIG" "$NRPE_CONFIG-$DATESTRING"
|
|
sed -e "s|^pid_file.*|pid_file=$DEFAULT_PIDFILE|g" "$NRPE_CONFIG-$DATESTRING" > "$NRPE_CONFIG"
|
|
/bin/logger -t rcnrpe "Configured $pid_file in $NRPE_CONFIG moved to $DEFAULT_PIDFILE. Backup is $NRPE_CONFIG-$DATESTRING"
|
|
echo
|
|
echo "Configured $pid_file in $NRPE_CONFIG moved to $DEFAULT_PIDFILE. Backup is $NRPE_CONFIG-$DATESTRING"
|
|
test -f "$pid_file" && rm "$pid_file"
|
|
install -d -m755 -o$nrpe_user -g$nrpe_group $(dirname "$DEFAULT_PIDFILE")
|
|
else
|
|
test -d "$PIDDIR" || mkdir -p "$PIDDIR"
|
|
fi
|
|
;;
|
|
*)
|
|
test -d $(dirname "$DEFAULT_PIDFILE") || install -d -m755 -o$nrpe_user -g$nrpe_group $(dirname "$DEFAULT_PIDFILE")
|
|
;;
|
|
esac
|
|
/sbin/startproc $NRPE_BIN -c $NRPE_CONFIG -d
|
|
rc_status -v
|
|
;;
|
|
stop)
|
|
echo -n "Shutting down Nagios NRPE "
|
|
/sbin/killproc -TERM $NRPE_BIN
|
|
rc_status -v
|
|
;;
|
|
try-restart|condrestart)
|
|
if test "$1" = "condrestart"; then
|
|
echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"
|
|
fi
|
|
$0 status
|
|
if test $? = 0; then
|
|
$0 restart
|
|
else
|
|
rc_reset # Not running is not a failure.
|
|
fi
|
|
rc_status
|
|
;;
|
|
restart)
|
|
$0 stop
|
|
$0 start
|
|
rc_status
|
|
;;
|
|
reload|force-reload)
|
|
echo -n "Reload service Nagios NRPE "
|
|
/sbin/killproc -HUP $NRPE_BIN
|
|
rc_status -v
|
|
;;
|
|
status)
|
|
echo -n "Checking for service Nagios NRPE "
|
|
/sbin/checkproc $NRPE_BIN
|
|
rc_status -v
|
|
;;
|
|
*)
|
|
echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload}"
|
|
exit 1
|
|
;;
|
|
esac
|
|
rc_exit
|