diff --git a/nagios/fsl.nagios b/nagios/fsl.nagios index cb33f80f76..22b47af6b6 100644 --- a/nagios/fsl.nagios +++ b/nagios/fsl.nagios @@ -9,7 +9,7 @@ ident (nagios)/.+ q{ -> { debug: file( path="@l_prefix@/var/nagios/nagios.log", - perm=0644 + perm=0644, jitter=1, monitor=3600 ) } }; diff --git a/nagios/nagios.spec b/nagios/nagios.spec index bcd7fc8db3..1de0688ba2 100644 --- a/nagios/nagios.spec +++ b/nagios/nagios.spec @@ -33,7 +33,7 @@ Distribution: OpenPKG [EVAL] Group: Network License: GNU Version: 1.1 -Release: 20030722 +Release: 20031110 # package options %option with_fsl yes @@ -52,8 +52,8 @@ PreReq: OpenPKG, openpkg >= 20030718, traceroute, apache BuildPreReq: gd, jpeg, png, zlib PreReq: gd, jpeg, png, zlib %if "%{with_fsl}" == "yes" -BuildPreReq: fsl >= 1.2.0 -PreReq: fsl >= 1.2.0 +BuildPreReq: fsl >= 1.3.0 +PreReq: fsl >= 1.3.0 %endif AutoReq: no AutoReqProv: no @@ -194,3 +194,18 @@ AutoReqProv: no %clean rm -rf $RPM_BUILD_ROOT +%post + # after upgrade, restart service + [ $1 -eq 2 ] || exit 0 + eval `%{l_rc} nagios status 2>/dev/null` + [ ".$nagios_active" = .yes ] && %{l_rc} nagios restart + exit 0 + +%preun + # before erase, stop service and remove log files + [ $1 -eq 0 ] || exit 0 + %{l_rc} nagios stop 2>/dev/null + rm -f $RPM_INSTALL_PREFIX/var/nagios/*.log* >/dev/null 2>&1 || true + rm -f $RPM_INSTALL_PREFIX/var/nagios/status.sav >/dev/null 2>&1 || true + exit 0 + diff --git a/nagios/rc.nagios b/nagios/rc.nagios index bd672df6d5..316c333e0a 100644 --- a/nagios/rc.nagios +++ b/nagios/rc.nagios @@ -6,42 +6,83 @@ %config nagios_enable="$openpkg_rc_def" nagios_cfg="nagios.cfg" - nagios_log_prolog="true" - nagios_log_epilog="true" - nagios_log_numfiles="10" - nagios_log_minsize="1M" - nagios_log_complevel="9" + nagios_comment_file="@l_prefix@/var/nagios/comment.log" + nagios_comment_prolog="true" + nagios_comment_epilog="true" + nagios_comment_numfiles="10" + nagios_comment_minsize="1M" + nagios_comment_complevel="9" + nagios_downtime_file="@l_prefix@/var/nagios/downtime.log" + nagios_downtime_prolog="true" + nagios_downtime_epilog="true" + nagios_downtime_numfiles="10" + nagios_downtime_minsize="1M" + nagios_downtime_complevel="9" + nagios_nagios_file="@l_prefix@/var/nagios/nagios.log" + nagios_nagios_prolog="true" + nagios_nagios_epilog="true" + nagios_nagios_numfiles="10" + nagios_nagios_minsize="1M" + nagios_nagios_complevel="9" -%start +%common + nagios_pidfile="@l_prefix@/var/nagios/nagios.lock" + nagios_signal () { + [ -f $nagios_pidfile ] && kill -$1 `cat $nagios_pidfile` + } + +%status -u @l_musr@ -o + nagios_usable="unknown" + nagios_active="no" + rcService nagios enable yes && \ + nagios_signal 0 && nagios_active="yes" + echo "nagios_enable=\"$nagios_enable\"" + echo "nagios_usable=\"$nagios_usable\"" + echo "nagios_active=\"$nagios_active\"" + +%start -u @l_musr@ rcService nagios enable yes || exit 0 + rcService nagios active yes && exit 0 @l_prefix@/sbin/nagios -d @l_prefix@/etc/nagios/$nagios_cfg >/dev/null 2>&1 -%stop +%stop -u @l_musr@ rcService nagios enable yes || exit 0 - if [ -f @l_prefix@/var/nagios/nagios.pid ]; then - kill -TERM `cat @l_prefix@/var/nagios/nagios.lock` - fi + rcService nagios active no && exit 0 + nagios_signal TERM + rm -f $nagios_pidfile -%restart +%restart -u @l_musr@ rcService nagios enable yes || exit 0 - if [ -f @l_prefix@/var/nagios/nagios.pid ]; then - kill -TERM `cat @l_prefix@/var/nagios/nagios.lock` - sleep 2 - fi - @l_prefix@/bin/nagios -d @l_prefix@/etc/nagios/$nagios_cfg >/dev/null 2>&1 + rcService nagios active no && exit 0 + rc nagios stop + sleep 2 + rc nagios start -%reload -u @l_susr@ +%reload -u @l_musr@ rcService nagios enable yes || exit 0 - if [ -f @l_prefix@/var/nagios/nagios.pid ]; then - kill -HUP `cat @l_prefix@/var/nagios/nagios.lock` - fi + rcService nagios active no && exit 0 + nagios_signal HUP -%daily -u @l_susr@ +%daily -u @l_musr@ rcService nagios enable yes || exit 0 + + # rotate logfiles + shtool rotate -f \ + -n ${nagios_nagios_numfiles} -s ${nagios_nagios_minsize} -d \ + -z ${nagios_nagios_complevel} -o @l_musr@ -g @l_mgrp@ -m 644 \ + -P "${nagios_nagios_prolog}" \ + -E "${nagios_nagios_epilog}" \ + ${nagios_nagios_file} + shtool rotate -f \ + -n ${nagios_comment_numfiles} -s ${nagios_comment_minsize} -d \ + -z ${nagios_comment_complevel} -o @l_musr@ -g @l_mgrp@ -m 664 \ + -P "${nagios_comment_prolog}" \ + -E "${nagios_comment_epilog}" \ + ${nagios_comment_file} shtool rotate -f \ - -n ${nagios_log_numfiles} -s ${nagios_log_minsize} -d \ - -z ${nagios_log_complevel} -o @l_rusr@ -g @l_rgrp@ -m 644 \ - -P "${nagios_log_prolog}" \ - -E "${nagios_log_epilog}" \ - @l_prefix@/var/nagios/nagios.log + -n ${nagios_downtime_numfiles} -s ${nagios_downtime_minsize} -d \ + -z ${nagios_downtime_complevel} -o @l_musr@ -g @l_mgrp@ -m 664 \ + -P "${nagios_downtime_prolog}" \ + -E "${nagios_downtime_epilog}" \ + ${nagios_downtime_file}