summaryrefslogtreecommitdiff
path: root/debian/snmptrapd.init
blob: f426e13021b9978811734b9b83627756b964e35f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#! /bin/sh
### BEGIN INIT INFO
# Provides:           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 Trap daemon
# Description:        NET SNMP (Simple Network Management Protocol) trap daemon
### END INIT INFO
#
# Author:    Hideki Yamane <henrich@debian.org>
#            (based on Jochen Friedrich <jochen@scram.de>'s snmpd.init)
#
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
OLD_MIBS_DIR="/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp"
MIBS_DIR="/usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf"
export MIBDIRS="$MIBS_DIR:$OLD_MIBS_DIR"

TRAPD_PID="/run/snmptrapd.pid"
TRAPDRUN=no
TRAPDOPTS="-Lsd -p $TRAPD_PID"

# Reads config file (will override defaults above)
[ -r /etc/default/snmptrapd ] && . /etc/default/snmptrapd

# Cd to / before starting any daemons.
cd /

case "$1" in
  start)
    log_daemon_msg "Starting SNMP trap services:"
    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 SNMP trap services:"
    start-stop-daemon --quiet --stop --oknodo --exec --retry 3 /usr/sbin/snmptrapd \
           && [ ! -f $TRAPD_PID ] || rm $TRAPD_PID
    log_progress_msg " snmptrapd"
    ;;
  restart)
    log_daemon_msg "Restarting SNMP trap services:"
    start-stop-daemon --quiet --stop --oknodo --exec --retry 3 /usr/sbin/snmptrapd \
           && [ ! -f $TRAPD_PID ] || rm $TRAPD_PID
    if [ "$TRAPDRUN" = "yes" -a -f /etc/snmp/snmptrapd.conf ]; then
        start-stop-daemon --quiet --start --exec --retry 3 /usr/sbin/snmptrapd -- $TRAPDOPTS
	log_progress_msg " snmptrapd"
    fi
    ;;
  reload|force-reload)
    log_daemon_msg "Reloading SNMP trap services:"
    if [ "$TRAPDRUN" = "yes" -a -f /etc/snmp/snmptrapd.conf ]; then
        start-stop-daemon --quiet --stop --signal 1 \
           --pidfile "$TRAPD_PID" --exec /usr/sbin/snmpd
        log_progress_msg " snmptrapd"
    fi
    ;;
  status)
    status=0
    if [ "$TRAPDRUN" = "yes" -a -f /etc/snmp/snmptrapd.conf ]; then
      status_of_proc /usr/sbin/snmptrapd snmptrapd || status=$?
    fi
    exit $status
    ;;
  *)
    echo "Usage: /etc/init.d/snmptrapd {start|stop|restart|reload|force-reload|status}"
    exit 1
esac

exit 0