/rc5.d/S20snmpd
http://github.com/brinkman83/bashrc · Shell · 98 lines · 70 code · 9 blank · 19 comment · 13 complexity · 95c97fe21410416ffc5a680bdf54a63a MD5 · raw file
- #! /bin/sh -e
- ### BEGIN INIT INFO
- # Provides: snmpd snmptrapd
- # Required-Start: $network $remote_fs $syslog
- # Required-Stop: $network $remote_fs $syslog
- # Default-Start: 2 3 4 5
- # Default-Stop: 0 1 6
- # Short-Description: SNMP agents
- # Description: NET SNMP (Simple Network Management Protocol) Agents
- ### END INIT INFO
- #
- # Author: Jochen Friedrich <jochen@scram.de>
- #
- set -e
- . /lib/lsb/init-functions
- export PATH=/sbin:/usr/sbin:/bin:/usr/bin
- 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 /
- # Create compatibility link to old AgentX socket location
- if [ "$SNMPDCOMPAT" = "yes" ] && [ "$1" != status ]; then
- ln -sf /var/agentx/master /var/run/agentx
- fi
- case "$1" in
- start)
- log_daemon_msg "Starting network management services:"
- if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then
- start-stop-daemon --quiet --start --oknodo --exec /usr/sbin/snmpd \
- -- $SNMPDOPTS
- log_progress_msg " snmpd"
- fi
- if [ "$TRAPDRUN" = "yes" -a -f /etc/snmp/snmptrapd.conf ]; then
- start-stop-daemon --quiet --start --oknodo --exec /usr/sbin/snmptrapd \
- -- $TRAPDOPTS
- log_progress_msg " snmptrapd"
- fi
- ;;
- stop)
- log_daemon_msg "Stopping network management services:"
- start-stop-daemon --quiet --stop --oknodo --exec /usr/sbin/snmpd
- log_progress_msg " snmpd"
- start-stop-daemon --quiet --stop --oknodo --exec /usr/sbin/snmptrapd
- log_progress_msg " snmptrapd"
- ;;
- restart)
- log_daemon_msg "Restarting network management services:"
- start-stop-daemon --quiet --stop --oknodo --exec /usr/sbin/snmpd
- start-stop-daemon --quiet --stop --oknodo --exec /usr/sbin/snmptrapd
- # 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 -- $SNMPDOPTS
- log_progress_msg " 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
- log_progress_msg " snmptrapd"
- fi
- ;;
- reload|force-reload)
- log_daemon_msg "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
- log_progress_msg " snmpd"
- fi
- ;;
- status)
- status=0
- status_of_proc /usr/sbin/snmpd snmpd || status=$?
- status_of_proc /usr/sbin/snmptrapd snmptrapd || status=$?
- exit $status
- ;;
- *)
- echo "Usage: /etc/init.d/snmpd {start|stop|restart|reload|force-reload|status}"
- exit 1
- esac
- exit 0