From e992ddd83ab2002ea6aeb9a4cacf89f9a888c17b Mon Sep 17 00:00:00 2001 From: Stig Thormodsrud Date: Wed, 31 Oct 2007 18:49:53 -0700 Subject: Fix snmp such that it can be configured by non-root user. --- scripts/snmp/snmpd.init | 75 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 scripts/snmp/snmpd.init (limited to 'scripts/snmp/snmpd.init') diff --git a/scripts/snmp/snmpd.init b/scripts/snmp/snmpd.init new file mode 100644 index 00000000..3e4ef17b --- /dev/null +++ b/scripts/snmp/snmpd.init @@ -0,0 +1,75 @@ +#! /bin/sh +# /etc/init.d/snmpd: start snmp daemon. + +test -x /usr/sbin/snmpd || exit 0 +test -x /usr/sbin/snmptrapd || exit 0 + +# Defaults +export MIBDIRS=/usr/share/snmp/mibs +SNMPDRUN=yes +SNMPDOPTS='-Lsd -Lf /dev/null -p /var/run/snmpd.pid' +TRAPDRUN=no +TRAPDOPTS='-Lsd -p /var/run/snmptrapd.pid' + +# Reads config file (will override defaults above) +[ -r /etc/default/snmpd ] && . /etc/default/snmpd + +# Cd to / before starting any daemons. +cd / + +case "$1" in + start) + echo -n "Starting network management services:" + if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then + start-stop-daemon --quiet --start --exec /usr/sbin/snmpd \ + -- -p /var/run/snmpd.pid + echo -n " snmpd" + fi + if [ "$TRAPDRUN" = "yes" -a -f /etc/snmp/snmptrapd.conf ]; then + start-stop-daemon --quiet --start --exec /usr/sbin/snmptrapd \ + -- $TRAPDOPTS + echo -n " snmptrapd" + fi + echo "." + ;; + stop) + echo -n "Stopping network management services:" + start-stop-daemon --quiet --stop --pidfile /var/run/snmpd.pid + echo -n " snmpd" + start-stop-daemon --quiet --stop --pidfile /var/run/snmptrapd.pid + echo -n " snmptrapd" + echo "." + ;; + restart) + echo -n "Restarting network management services:" + start-stop-daemon --quiet --stop --pidfile /var/run/snmpd.pid + start-stop-daemon --quiet --stop --pidfile /var/run/snmptrapd.pid + # Allow the daemons time to exit completely. + sleep 2 + if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then + start-stop-daemon --quiet --start --exec /usr/sbin/snmpd -- -p /var/run/snmpd.pid + echo -n " snmpd" + fi + if [ "$TRAPDRUN" = "yes" -a -f /etc/snmp/snmptrapd.conf ]; then + # Allow snmpd time to start up. + sleep 1 + start-stop-daemon --quiet --start --exec /usr/sbin/snmptrapd -- $TRAPDOPTS + echo -n " snmptrapd" + fi + echo "." + ;; + reload|force-reload) + echo -n "Reloading network management services:" + if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then + start-stop-daemon --quiet --stop --signal 1 \ + --pidfile /var/run/snmpd.pid --exec /usr/sbin/snmpd + echo -n " snmpd" + fi + echo "." + ;; + *) + echo "Usage: /etc/init.d/snmpd {start|stop|restart|reload|force-reload}" + exit 1 +esac + +exit 0 -- cgit v1.2.3