#! /bin/sh # Copyright (c) 1996-2002 SuSE GmbH Nuernberg, Germany. All rights reserved. # # Author: Christopher Mahmood , 2002 # # /etc/init.d/snmptrapd # ### BEGIN INIT INFO # Provides: snmpdtrapd # Required-Start: $network # Required-Stop: $network # Default-Start: 2 3 5 # Default-Stop: 0 1 6 # Description: start net-snmptrapd ### END INIT INFO SNMPTRAPD=/usr/sbin/snmptrapd SNMPTRAPD_CONF="/etc/snmp/snmptrapd.conf" SNMPTRAPD_LOGFILE="/var/log/net-snmp.log" test -x $SNMPTRAPD || exit 5 # Check for existence of needed config file and read it SNMPD_CONFIG=/etc/sysconfig/net-snmp test -r $SNMPD_CONFIG || { echo "$SNMPD_CONFIG not existing"; if [ "$1" = "stop" ]; then exit 0; else exit 6; fi; } # Read config . $SNMPD_CONFIG # Shell functions sourced from /etc/rc.status: # rc_check check and set local and overall rc status # rc_status check and set local and overall rc status # rc_status -v ditto but be verbose in local rc status # rc_status -v -r ditto and clear the local rc status # rc_failed set local and overall rc status to failed # rc_failed set local and overall rc status to # rc_reset clear local rc status (overall remains) # rc_exit exit appropriate to overall rc status . /etc/rc.status # First reset status of this service rc_reset # Return values acc. to LSB for all commands but status: # 0 - success # 1 - generic or unspecified error # 2 - invalid or excess argument(s) # 3 - unimplemented feature (e.g. "reload") # 4 - insufficient privilege # 5 - program is not installed # 6 - program is not configured # 7 - program is not running # # Note that starting an already running service, stopping # or restarting a not-running service as well as the restart # with force-reload (in case signalling is not supported) are # considered a success. if [ $SNMPTRAPD_CONF = "/etc/snmp/snmptrapd.conf" ]; then SNMPTRAPD_CONF="" else SNMPTRAPD_CONF="-c $SNMPTRAPD_CONF" fi SNMPTRAPD_LOGFILE="${SNMPTRAPD_LOGFILE:-/var/log/net-snmp.log}" case "$1" in start) echo -n "Starting snmptrapd:" startproc $SNMPTRAPD $SNMPTRAPD_CONF -A -Lf ${SNMPD_LOGLEVEL:-d} $SNMPTRAPD_LOGFILE -p /var/run/snmptrapd.pid rc_status -v ;; stop) echo -n "Shutting down snmptrapd:" killproc -TERM $SNMPTRAPD rc_status -v ;; try-restart) $0 status >/dev/null && $0 restart rc_status ;; restart) $0 stop $0 start rc_status ;; force-reload) echo -n "Reload service snmptrapd:" killproc -HUP $SNMPTRAPD rc_status -v ;; reload) echo -n "Reload service snmptrapd:" killproc -HUP $SNMPTRAPD rc_status -v ;; status) echo -n "Checking for service snmptrapd:" checkproc $SNMPTRAPD rc_status -v ;; *) echo "Usage: $0 {start|stop|try-restart|restart|force-reload|reload|status}" exit 1 ;; esac rc_exit