1#! /bin/sh 2### BEGIN INIT INFO 3# Provides: snmpd snmptrapd 4# Required-Start: $network $local_fs 5# Required-Stop: $network $local_fs 6# Default-Start: 2 3 4 5 7# Default-Stop: 0 6 8# Short-Description: SNMP agents 9# Description: NET SNMP (Simple Network Management Protocol) Agents 10### END INIT INFO 11# 12# Author: Jochen Friedrich <jochen@scram.de> 13# 14 15export PATH=/sbin:/usr/sbin:/bin:/usr/bin 16 17# Defaults 18export MIBDIRS=/usr/share/snmp/mibs 19SNMPDRUN=yes 20SNMPDOPTS='-Lsd -Lf /dev/null -p /var/run/snmpd.pid 127.0.0.1' 21TRAPDRUN=no 22TRAPDOPTS='-Lsd -p /var/run/snmptrapd.pid' 23 24# Reads config file (will override defaults above) 25[ -r /etc/default/snmpd ] && . /etc/default/snmpd 26 27ssd_oknodo="-o" 28 29# Cd to / before starting any daemons. 30cd / 31 32# Create compatibility link to old AgentX socket location 33if [ "$SNMPDCOMPAT" = "yes" ]; then 34 ln -sf /var/agentx/master /var/run/agentx 35fi 36 37start() { 38 if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then 39 printf "Starting SNMP daemon: " 40 start-stop-daemon -q -S -x /usr/sbin/snmpd -- $SNMPDOPTS 41 [ $? = 0 ] && echo "OK" || echo "FAIL" 42 fi 43 44 if [ "$TRAPDRUN" = "yes" -a -f /etc/snmp/snmptrapd.conf ]; then 45 printf "Starting SNMP trap daemon: " 46 start-stop-daemon -q -S -x /usr/sbin/snmptrapd -- $TRAPDOPTS 47 [ $? = 0 ] && echo "OK" || echo "FAIL" 48 fi 49} 50 51stop() { 52 if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then 53 printf "Stopping SNMP daemon: " 54 start-stop-daemon -q -K $ssd_oknodo -x /usr/sbin/snmpd 55 [ $? = 0 ] && echo "OK" || echo "FAIL" 56 fi 57 58 if [ "$TRAPDRUN" = "yes" -a -f /etc/snmp/snmptrapd.conf ]; then 59 printf "Stopping SNMP trap daemon: " 60 start-stop-daemon -q -K $ssd_oknodo -x /usr/sbin/snmptrapd 61 [ $? = 0 ] && echo "OK" || echo "FAIL" 62 fi 63} 64 65reload() { 66 if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then 67 printf "Reloading SNMP daemon: " 68 start-stop-daemon -q -K -s 1 -p /var/run/snmpd.pid -x /usr/sbin/snmpd 69 [ $? = 0 ] && echo "OK" || echo "FAIL" 70 fi 71 72 if [ "$TRAPDRUN" = "yes" -a -f /etc/snmp/snmptrapd.conf ]; then 73 printf "Reloading SNMP trap daemon: " 74 start-stop-daemon -q -K -s 1 -p /var/run/snmptrapd.pid -x /usr/sbin/snmptrapd 75 [ $? = 0 ] && echo "OK" || echo "FAIL" 76 fi 77} 78 79case "$1" in 80 start) 81 start 82 ;; 83 84 stop) 85 stop 86 ;; 87 88 restart) 89 stop 90 # Allow the daemons time to exit completely. 91 sleep 2 92 start 93 ;; 94 95 reload|force-reload) 96 reload 97 ;; 98 99 *) 100 echo "Usage: $0 {start|stop|restart|reload|force-reload}" 101 exit 1 102esac 103 104exit 0 105