Could not attach the file, sorry but I had to paste it into this reply:
=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2018.10.19 16:26:28 =~=~=~=~=~=~=~=~=~=~=~=
cat nagios
#!/bin/sh
#
# chkconfig: 345 99 01
# description: Nagios network monitor
# processname: nagios
# File : nagios
#
# Author : Jorge Sanchez Aymar (
[email protected])
#
# Changelog :
#
# 1999-07-09 Karl DeBisschop <
[email protected]>
# - setup for autoconf
# - add reload function
# 1999-08-06 Ethan Galstad <
[email protected]>
# - Added configuration info for use with RedHat's chkconfig tool
# per Fran Boon's suggestion
# 1999-08-13 Jim Popovitch <
[email protected]>
# - added variable for nagios/var directory
# - cd into nagios/var directory before creating tmp files on startup
# 1999-08-16 Ethan Galstad <
[email protected]>
# - Added test for rc.d directory as suggested by Karl DeBisschop
# 2000-07-23 Karl DeBisschop <
[email protected]>
# - Clean out redhat macros and other dependencies
# 2003-01-11 Ethan Galstad <
[email protected]>
# - Updated su syntax (Gary Miller)
#
# Description: Starts and stops the Nagios monitor
# used to provide network services status.
#
### BEGIN INIT INFO
# Provides:nagios
# Required-Start:$local_fs $syslog $network
# Required-Stop:$local_fs $syslog $network
# Default-Start:2 3 4 5
# Default-Stop:0 1 6
# Short-Description:Starts and stops the Nagios monitoring server
# Description:Starts and stops the Nagios monitoring server
### END INIT INFO
# Our install-time configuration.
NagiosBin=/usr/local/nagios/bin/nagios
NagiosCfgFile=/usr/local/nagios/etc/nagios.cfg
NagiosCfgtestFile=/usr/local/nagios/var/nagios.configtest
NagiosStatusFile=/usr/local/nagios/var/status.dat
NagiosRetentionFile=/usr/local/nagios/var/retention.dat
NagiosCommandFile=/usr/local/nagios/var/rw/nagios.cmd
NagiosRunFile=/var/run/nagios.lock
NagiosVarDir=/usr/local/nagios/var
NagiosCGIDir=/usr/local/nagios/sbin
NagiosUser=nagios
NagiosGroup=nagios
checkconfig="true"
# Load any extra environment variables for Nagios and its plugins.
if test -f /etc/sysconfig/nagios; then
. /etc/sysconfig/nagios
fi
# Automate addition of RAMDISK based on environment variables
USE_RAMDISK=${USE_RAMDISK:-0}
if test "$USE_RAMDISK" -ne 0 && test "$RAMDISK_SIZE"X != "X"; then
ramdisk=`mount |grep "${RAMDISK_DIR} type tmpfs"`
if [ "$ramdisk"X == "X" ]; then
if [ ! -d ${RAMDISK_DIR} ]; then
mkdir -p -m 0755 ${RAMDISK_DIR}
if [ -d ${RAMDISK_DIR} ]; then
NagiosUserUID=`id -u ${NagiosUser}`
NagiosGroupGID=`id -g ${NagiosGroup}`
mount -t tmpfs -o uid=${NagiosUserUID},gid={$NagiosGroupGID},size=${RAMDISK_SIZE}m tmpfs ${RAMDISK_DIR}
su ${NagiosUser} -c "mkdir -m 0755 ${RAMDISK_DIR}/checkresults"
else
echo "ERROR: Unable to create ramdisk directory (${RAMDISK_DIR})"
exit 1
fi
fi
fi
fi
check_config ()
{
if test "$checkconfig" != "true"; then
return 0
fi
echo -n "Running configuration check... "
/bin/rm -f "$NagiosCfgtestFile";
if test -e "$NagiosCfgtestFile"; then
echo "ERROR: Could not delete '$NagiosCfgtestFile'"
exit 8
fi
if ! su $NagiosUser -c "touch $NagiosCfgtestFile"; then
echo "ERROR: Could not create or update '$NagiosCfgtestFile'"
exit 8
fi
TMPFILE=$(mktemp /tmp/.configtest.XXXXXXXX)
$NagiosBin -vp $NagiosCfgFile > "$TMPFILE"
WARN=`grep ^"Total Warnings:" "$TMPFILE" |awk -F: '{print \$2}' |sed s/' '//g`
ERR=`grep ^"Total Errors:" "$TMPFILE" |awk -F: '{print \$2}' |sed s/' '//g`
if test "$WARN" = "0" && test "${ERR}" = "0"; then
echo "OK - Configuration check verified" > $NagiosCfgtestFile
/bin/rm "$TMPFILE"
return 0
elif test "${ERR}" = "0"; then
# Write the errors to a file we can have a script watching for.
echo "WARNING: Warnings in config files - see log for details: $NagiosCfgtestFile" > $NagiosCfgtestFile
egrep -i "(^warning|^error)" "$TMPFILE" >> $NagiosCfgtestFile
/bin/rm "$TMPFILE"
return 0
else
# Write the errors to a file we can have a script watching for.
echo "ERROR: Errors in config files - see log for details: $NagiosCfgtestFile" > $NagiosCfgtestFile
egrep -i "(^warning|^error)" "$TMPFILE" >> $NagiosCfgtestFile
cat "$TMPFILE"
exit 8
fi
}
status_nagios ()
{
if test -x $NagiosCGIDir/daemonchk.cgi; then
if $NagiosCGIDir/daemonchk.cgi -l $NagiosRunFile > /dev/null 2>&1; then
return 0
fi
else
if ps -p $NagiosPID > /dev/null 2>&1; then
return 0
fi
fi
return 1
}
printstatus_nagios ()
{
if status_nagios; then
echo "nagios (pid $NagiosPID) is running..."
else
echo "nagios is not running"
fi
}
killproc_nagios ()
{
/bin/kill -s "$1" $NagiosPID
}
pid_nagios ()
{
if test ! -f $NagiosRunFile; then
echo "No lock file found in $NagiosRunFile"
return 1
fi
NagiosPID=`head -n 1 $NagiosRunFile`
}
# Check that nagios exists.
if [ ! -f $NagiosBin ]; then
echo "Executable file $NagiosBin not found. Exiting."
exit 1
fi
# Check that nagios.cfg exists.
if [ ! -f $NagiosCfgFile ]; then
echo "Configuration file $NagiosCfgFile not found. Exiting."
exit 1
fi
# See how we were called.
case "$1" in
start)
echo -n "Starting nagios: "
check_config
if test -f $NagiosRunFile; then
NagiosPID=`head -n 1 $NagiosRunFile`
if status_nagios; then
echo "another instance of nagios is already running."
exit 0
fi
fi
su $NagiosUser -c "touch $NagiosVarDir/nagios.log $NagiosRetentionFile"
/bin/rm -f $NagiosCommandFile
touch $NagiosRunFile
$NagiosBin -d $NagiosCfgFile
echo "done."
;;
stop)
echo -n "Stopping nagios: "
pid_nagios
if [ $? -eq 1 ]; then
exit 0
fi
killproc_nagios TERM
# now we have to wait for nagios to exit and remove its
# own NagiosRunFile, otherwise a following "start" could
# happen, and then the exiting nagios will remove the
# new NagiosRunFile, allowing multiple nagios daemons
# to (sooner or later) run - John Sellens
#echo -n 'Waiting for nagios to exit .'
for i in {1..90}; do
if status_nagios > /dev/null; then
echo -n '.'
sleep 1
else
break
fi
done
if status_nagios > /dev/null; then
echo ""
echo "Warning - nagios did not exit in a timely manner - Killing it!"
killproc_nagios KILL
else
echo "done."
fi
/bin/rm -f $NagiosStatusFile $NagiosRunFile $NagiosCommandFile
;;
status)
pid_nagios
if [ $? -eq 1 ]; then
exit 3
fi
printstatus_nagios
;;
checkconfig)
check_config
if [ $? -eq 0 ]; then
echo "OK."
else
echo "CONFIG ERROR! Check your Nagios configuration."
exit 1
fi
;;
restart)
check_config
$0 stop
$0 start
;;
reload|force-reload)
check_config
if test ! -f $NagiosRunFile; then
$0 start
else
pid_nagios
if status_nagios > /dev/null; then
echo -n "Reloading nagios configuration... "
killproc_nagios HUP
echo "done"
else
$0 stop
$0 start
fi
fi
;;
configtest)
$NagiosBin -vp $NagiosCfgFile
;;
*)
echo "Usage: nagios {start|stop|restart|reload|force-reload|status|checkconfig|configtest}"
exit 1
;;
esac
# End of this script
[root@nagios init.d]#