#! /bin/sh # /etc/init.d/snmpd: start snmp daemon. . /etc/init.d/functions # Linux Standard Base (LSB) Error Codes RETVAL=0 GENERIC_ERROR=1 INVALID_ARGS=2 NOT_RUNNING=3 NOT_INSTALLED=5 #set environment variables export SNMPCONFPATH=/etc/snmp export MIBDIRS=/usr/share/snmp/mibs SNMPDOPTS='oamcontroller -u snmpd -LS6d -Lf /dev/null -p /var/run/snmpd.pid' PIDFILE=/var/run/snmpd.pid SNMPTRAPDCONFIG=${SNMPCONFPATH}/snmpdtrapd.conf SNMPDCONFIG=${SNMPCONFPATH}/snmpd.conf SNMPDNAME=snmpd SNMPD="/usr/sbin/${SNMPDNAME}" test -x ${SNMPD} || exit ${NOT_INSTALLED} # Reads config file (will override defaults above) [ -r /etc/default/snmpd ] && . /etc/default/snmpd case "$1" in start) echo -n "Starting network management services: " status ${SNMPD} >/dev/null if [ $? -eq 0 ]; then echo -n "is already running " RETVAL=0 elif [ -f ${SNMPDCONFIG} ]; then start-stop-daemon -o --start --quiet --name ${SNMPDNAME} --pidfile "$PIDFILE" \ --exec ${SNMPD} -- ${SNMPDOPTS} RETVAL=$? else logger "${SNMPDCONFIG} is missing" RETVAL=${GENERIC_ERROR} fi if [ ${RETVAL} -eq 0 ] ; then pid=`pidof ${SNMPDNAME}` echo "OK" logger "${SNMPDNAME} (${pid})" else echo "FAIL" RETVAL=${GENERIC_ERROR} fi ;; stop) status ${SNMPD} >/dev/null if [ $? -ne 0 ]; then echo "$SNMPDNAME is not running" RETVAL=0 else echo -n "Stopping network management services " killproc ${SNMPDNAME} if [ -n "`pidof ${SNMPDNAME}`" ] ; then logger "Going to SIGKILL ${SNMPDNAME}" killproc -KILL ${SNMPDNAME} fi /bin/rm -rf $PIDFILE status ${SNMPD} >/dev/null if [ $? -ne 0 ]; then echo "Stopped" RETVAL=0 else echo "Failed" RETVAL=${GENERIC_ERROR} fi fi ;; status) status ${SNMPD} >/dev/null RETVAL=$? if [ ! ${RETVAL} -eq 0 ] ; then RETVAL=${NOT_RUNNING} fi ;; restart|reload|force-reload) $0 stop sleep 1 $0 start ;; *) echo "Usage: /etc/init.d/snmpd {start|stop|status|restart|reload|force-reload}" exit ${GENERIC_ERROR} esac exit $RETVAL