packages: nagios/nagios.init - improved checkconfig
glen
glen at pld-linux.org
Sat Jul 25 21:18:09 CEST 2009
Author: glen Date: Sat Jul 25 19:18:09 2009 GMT
Module: packages Tag: HEAD
---- Log message:
- improved checkconfig
---- Files affected:
packages/nagios:
nagios.init (1.19 -> 1.20)
---- Diffs:
================================================================
Index: packages/nagios/nagios.init
diff -u packages/nagios/nagios.init:1.19 packages/nagios/nagios.init:1.20
--- packages/nagios/nagios.init:1.19 Sat Jul 25 21:09:25 2009
+++ packages/nagios/nagios.init Sat Jul 25 21:18:04 2009
@@ -25,16 +25,38 @@
exit 0
fi
-checkconfig() {
- /usr/sbin/nagios -v /etc/nagios/nagios.cfg > /dev/null
- rc=$?
+# configtest itself
+configtest() {
+ local rc out
+ out=`/usr/sbin/nagios -v /etc/nagios/nagios.cfg 2>&1`; rc=$?
if [ $rc -gt 0 ]; then
- fail
- nls 'The configuration is broken. See details with %s "checkconfig"' /etc/rc.d/init.d/nagios
+ echo >&2 "$out"
fi
return $rc
}
+# wrapper for configtest:
+checkconfig() {
+ local details=${1:-0}
+
+ if [ $details = 1 ]; then
+ # run config test and display report (status action)
+ show "Checking %s configuration" "Nagios"; busy; echo
+ configtest
+ RETVAL=$?
+ else
+ # run config test and abort with nice message if failed
+ # (for actions checking status before action).
+ configtest >/dev/null 2>&1
+ RETVAL=$?
+ if [ $RETVAL != 0 ]; then
+ show "Checking %s configuration" "Nagios"; fail
+ nls 'Configuration test failed. See details with %s "checkconfig"' $0
+ exit $RETVAL
+ fi
+ fi
+}
+
start() {
# Check if the service is already running?
if [ -f /var/lock/subsys/nagios ]; then
@@ -42,8 +64,8 @@
return
fi
+ checkconfig
msg_starting "Nagios"
- checkconfig || exit
# remove stale cmd pipe (or nagios won't start if it exists)
rm -f /var/lib/nagios/rw/nagios.cmd
@@ -73,6 +95,7 @@
return
fi
+ checkconfig
stop
start
}
@@ -84,8 +107,8 @@
return
fi
+ checkconfig
msg_reloading "Nagios"
- checkconfig || exit
killproc nagios -HUP
RETVAL=$?
@@ -101,8 +124,7 @@
stop
;;
restart)
- msg_reloading "Nagios"
- checkconfig || exit && started
+ checkconfig
stop
start
;;
@@ -113,8 +135,7 @@
reload
;;
checkconfig|check|configtest)
- /usr/sbin/nagios -v /etc/nagios/nagios.cfg
- exit $?
+ checkconfig 1
;;
status)
status nagios
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/nagios/nagios.init?r1=1.19&r2=1.20&f=u
More information about the pld-cvs-commit
mailing list