/rc3.d/S20zabbix-agent

http://github.com/brinkman83/bashrc · Shell · 71 lines · 52 code · 9 blank · 10 comment · 3 complexity · 0661a686ec40c25b83b29b52b21dffbc MD5 · raw file

  1. #! /bin/sh
  2. ### BEGIN INIT INFO
  3. # Provides: zabbix-agent
  4. # Required-Start: $local_fs $network
  5. # Required-Stop: $local_fs
  6. # Default-Start: 2 3 4 5
  7. # Default-Stop: 0 1 6
  8. # Short-Description: Start zabbix-agent daemon
  9. ### END INIT INFO
  10. set -e
  11. NAME=zabbix_agentd
  12. DAEMON=/usr/sbin/$NAME
  13. DESC="Zabbix agent"
  14. test -x $DAEMON || exit 0
  15. DIR=/var/run/zabbix-agent
  16. PID=$DIR/$NAME.pid
  17. RETRY=15
  18. if test ! -d "$DIR"; then
  19. mkdir "$DIR"
  20. chown -R zabbix:zabbix "$DIR"
  21. fi
  22. export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
  23. # define LSB log_* functions.
  24. . /lib/lsb/init-functions
  25. case "$1" in
  26. start)
  27. log_daemon_msg "Starting $DESC" "$NAME"
  28. start-stop-daemon --oknodo --start --pidfile $PID \
  29. --exec $DAEMON >/dev/null 2>&1
  30. case "$?" in
  31. 0) log_end_msg 0 ;;
  32. *) log_end_msg 1; exit 1 ;;
  33. esac
  34. ;;
  35. stop)
  36. log_daemon_msg "Stopping $DESC" "$NAME"
  37. start-stop-daemon --oknodo --stop --exec $DAEMON --retry $RETRY
  38. case "$?" in
  39. 0) log_end_msg 0 ;;
  40. *) log_end_msg 1; exit 1 ;;
  41. esac
  42. ;;
  43. status)
  44. ls -l /proc/`cat $PID`/exe &> /dev/null
  45. if [ $? -eq 0 ]; then
  46. echo "$DESC is running"
  47. exit 0
  48. else
  49. echo "$DESC is NOT running"
  50. exit 1
  51. fi
  52. ;;
  53. restart|force-reload)
  54. $0 stop
  55. $0 start
  56. ;;
  57. *)
  58. echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload}" >&2
  59. exit 1
  60. ;;
  61. esac
  62. exit 0