/rc5.d/S20snmpd

http://github.com/brinkman83/bashrc · Shell · 98 lines · 70 code · 9 blank · 19 comment · 13 complexity · 95c97fe21410416ffc5a680bdf54a63a MD5 · raw file

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