S59snmpd 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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. ssd_oknodo=""
  28. # Cd to / before starting any daemons.
  29. cd /
  30. # Create compatibility link to old AgentX socket location
  31. if [ "$SNMPDCOMPAT" = "yes" ]; then
  32. ln -sf /var/agentx/master /var/run/agentx
  33. fi
  34. case "$1" in
  35. start)
  36. echo -n "Starting network management services:"
  37. if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then
  38. start-stop-daemon -q -S -x /usr/sbin/snmpd \
  39. -- $SNMPDOPTS
  40. echo -n " snmpd"
  41. fi
  42. if [ "$TRAPDRUN" = "yes" -a -f /etc/snmp/snmptrapd.conf ]; then
  43. start-stop-daemon -q -S -x /usr/sbin/snmptrapd \
  44. -- $TRAPDOPTS
  45. echo -n " snmptrapd"
  46. fi
  47. echo "."
  48. ;;
  49. stop)
  50. echo -n "Stopping network management services:"
  51. start-stop-daemon -q -K $ssd_oknodo -x /usr/sbin/snmpd
  52. echo -n " snmpd"
  53. start-stop-daemon -q -K $ssd_oknodo -x /usr/sbin/snmptrapd
  54. echo -n " snmptrapd"
  55. echo "."
  56. ;;
  57. restart)
  58. echo -n "Restarting network management services:"
  59. start-stop-daemon -q -K $ssd_oknodo -x /usr/sbin/snmpd
  60. start-stop-daemon -q -K $ssd_oknodo -x /usr/sbin/snmptrapd
  61. # Allow the daemons time to exit completely.
  62. sleep 2
  63. if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then
  64. start-stop-daemon -q -S -x /usr/sbin/snmpd -- $SNMPDOPTS
  65. echo -n " snmpd"
  66. fi
  67. if [ "$TRAPDRUN" = "yes" -a -f /etc/snmp/snmptrapd.conf ]; then
  68. # Allow snmpd time to start up.
  69. sleep 1
  70. start-stop-daemon -q -S -x /usr/sbin/snmptrapd -- $TRAPDOPTS
  71. echo -n " snmptrapd"
  72. fi
  73. echo "."
  74. ;;
  75. reload|force-reload)
  76. echo -n "Reloading network management services:"
  77. if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then
  78. start-stop-daemon -q -K -s 1 \
  79. -p /var/run/snmpd.pid -x /usr/sbin/snmpd
  80. echo -n " snmpd"
  81. fi
  82. echo "."
  83. ;;
  84. *)
  85. echo "Usage: /etc/init.d/snmpd {start|stop|restart|reload|force-reload}"
  86. exit 1
  87. esac
  88. exit 0