diff -r d423aaf00721 -r 6601d28cfe52 snmp/rc.snmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/snmp/rc.snmp Fri Mar 25 20:06:11 2011 +0100 @@ -0,0 +1,71 @@ +#!@l_prefix@/bin/openpkg rc +## +## rc.snmp -- Run-Commands +## + +%config + snmp_enable="$openpkg_rc_def" + snmp_daemons="snmpd snmptrapd" + snmp_listen="127.0.0.1" + snmp_listentrap="127.0.0.1" + snmp_log_prolog="true" + snmp_log_epilog="true" + snmp_log_numfiles="10" + snmp_log_minsize="1M" + snmp_log_complevel="9" + +%common + snmp_pidfile_snmptrapd="@l_prefix@/var/snmp/snmptrapd.pid" + snmp_pidfile_snmpd="@l_prefix@/var/snmp/snmpd.pid" + snmp_signal () { + [ -f $snmp_pidfile_snmptrapd ] \ + && kill -$1 `cat $snmp_pidfile_snmptrapd` + local rc_snmptrapd=$? + [ -f $snmp_pidfile_snmpd ] \ + && kill -$1 `cat $snmp_pidfile_snmpd` + local rc_snmpd=$? + [ $rc_snmptrapd -eq 0 -o $rc_snmpd -eq 0 ] + } + +%status -u @l_susr@ -o + snmp_usable="no" + snmp_active="no" + rcService snmp enable yes && \ + snmp_usable="yes" + rcService snmp enable yes && \ + snmp_signal 0 && snmp_active="yes" + echo "snmp_enable=\"$snmp_enable\"" + echo "snmp_usable=\"$snmp_usable\"" + echo "snmp_active=\"$snmp_active\"" + +%start -u @l_susr@ + rcService snmp enable yes || exit 0 + rcService snmp active yes && exit 0 + for daemon in $snmp_daemons; do + case "$daemon" in + snmpd ) @l_prefix@/sbin/snmpd -Lsd $snmp_listen ;; + snmptrapd ) @l_prefix@/sbin/snmptrapd -Lsd $snmp_listentrap ;; + esac + done + +%stop -u @l_susr@ + rcService snmp enable yes || exit 0 + rcService snmp active no && exit 0 + snmp_signal TERM + +%restart -u @l_susr@ + rcService snmp enable yes || exit 0 + rcService snmp active no && exit 0 + rc snmp stop + sleep 2 + rc snmp start + +%daily -u @l_susr@ + rcService snmp enable yes || exit 0 + shtool rotate -f \ + -n ${snmp_log_numfiles} -s ${snmp_log_minsize} -d \ + -z ${snmp_log_complevel} -o @l_rusr@ -g @l_rgrp@ -m 644 \ + -P "${snmp_log_prolog}" \ + -E "${snmp_log_epilog}" \ + @l_prefix@/var/snmp/snmp.log +