S59snmpd 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. #! /bin/sh -e
  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. set -e
  15. export PATH=/sbin:/usr/sbin:/bin:/usr/bin
  16. test -x /usr/sbin/snmpd || exit 0
  17. test -x /usr/sbin/snmptrapd || exit 0
  18. # Defaults
  19. export MIBDIRS=/usr/share/snmp/mibs
  20. SNMPDRUN=yes
  21. SNMPDOPTS='-Lsd -Lf /dev/null -p /var/run/snmpd.pid 127.0.0.1'
  22. TRAPDRUN=no
  23. TRAPDOPTS='-Lsd -p /var/run/snmptrapd.pid'
  24. # Reads config file (will override defaults above)
  25. [ -r /etc/default/snmpd ] && . /etc/default/snmpd
  26. ssd_oknodo="-o"
  27. # Cd to / before starting any daemons.
  28. cd /
  29. # Create compatibility link to old AgentX socket location
  30. if [ "$SNMPDCOMPAT" = "yes" ]; then
  31. ln -sf /var/agentx/master /var/run/agentx
  32. fi
  33. case "$1" in
  34. start)
  35. echo -n "Starting network management services:"
  36. if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then
  37. start-stop-daemon -q -S -x /usr/sbin/snmpd \
  38. -- $SNMPDOPTS
  39. echo -n " snmpd"
  40. fi
  41. if [ "$TRAPDRUN" = "yes" -a -f /etc/snmp/snmptrapd.conf ]; then
  42. start-stop-daemon -q -S -x /usr/sbin/snmptrapd \
  43. -- $TRAPDOPTS
  44. echo -n " snmptrapd"
  45. fi
  46. echo "."
  47. ;;
  48. stop)
  49. echo -n "Stopping network management services:"
  50. start-stop-daemon -q -K $ssd_oknodo -x /usr/sbin/snmpd
  51. echo -n " snmpd"
  52. start-stop-daemon -q -K $ssd_oknodo -x /usr/sbin/snmptrapd
  53. echo -n " snmptrapd"
  54. echo "."
  55. ;;
  56. restart)
  57. echo -n "Restarting network management services:"
  58. start-stop-daemon -q -K $ssd_oknodo -x /usr/sbin/snmpd
  59. start-stop-daemon -q -K $ssd_oknodo -x /usr/sbin/snmptrapd
  60. # Allow the daemons time to exit completely.
  61. sleep 2
  62. if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then
  63. start-stop-daemon -q -S -x /usr/sbin/snmpd -- $SNMPDOPTS
  64. echo -n " snmpd"
  65. fi
  66. if [ "$TRAPDRUN" = "yes" -a -f /etc/snmp/snmptrapd.conf ]; then
  67. # Allow snmpd time to start up.
  68. sleep 1
  69. start-stop-daemon -q -S -x /usr/sbin/snmptrapd -- $TRAPDOPTS
  70. echo -n " snmptrapd"
  71. fi
  72. echo "."
  73. ;;
  74. reload|force-reload)
  75. echo -n "Reloading network management services:"
  76. if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then
  77. start-stop-daemon -q -K -s 1 \
  78. -p /var/run/snmpd.pid -x /usr/sbin/snmpd
  79. echo -n " snmpd"
  80. fi
  81. echo "."
  82. ;;
  83. *)
  84. echo "Usage: /etc/init.d/snmpd {start|stop|restart|reload|force-reload}"
  85. exit 1
  86. esac
  87. exit 0