netdata-lsb.in 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. #!/bin/bash
  2. #
  3. ### BEGIN INIT INFO
  4. # Provides: netdata
  5. # Required-Start: $local_fs $remote_fs $network $named $time apache2 httpd squid nginx mysql named opensips upsd hostapd postfix lm_sensors
  6. # Required-Stop: $local_fs $remote_fs $network $named $time apache2 httpd squid nginx mysql named opensips upsd hostapd postfix lm_sensors
  7. # Should-Start: $local_fs $network $named $remote_fs $time $all
  8. # Should-Stop: $local_fs $network $named $remote_fs $time $all
  9. # Default-Start: 2 3 4 5
  10. # Default-Stop: 0 1 6
  11. # Short-Description: Start and stop the netdata real-time monitoring server daemon
  12. # Description: Controls the main netdata monitoring server daemon "netdata".
  13. # and all its plugins.
  14. ### END INIT INFO
  15. #
  16. set -e
  17. set -u
  18. ${DEBIAN_SCRIPT_DEBUG:+ set -v -x}
  19. DAEMON="netdata"
  20. DAEMON_PATH=@sbindir_POST@
  21. PIDFILE=@localstatedir_POST@/run/$DAEMON.pid
  22. DAEMONOPTS="-P $PIDFILE"
  23. test -x $DAEMON_PATH/$DAEMON || exit 0
  24. . /lib/lsb/init-functions
  25. # Safeguard (relative paths, core dumps..)
  26. cd /
  27. umask 022
  28. service_start() {
  29. log_daemon_msg "Starting real-time performance monitoring" "netdata"
  30. start_daemon -p $PIDFILE $DAEMON_PATH/$DAEMON $DAEMONOPTS
  31. RETVAL=$?
  32. log_end_msg $RETVAL
  33. return $RETVAL
  34. }
  35. service_stop() {
  36. log_daemon_msg "Stopping real-time performance monitoring" "netdata"
  37. killproc -p ${PIDFILE} $DAEMON_PATH/$DAEMON
  38. RETVAL=$?
  39. log_end_msg $RETVAL
  40. if [ $RETVAL -eq 0 ]; then
  41. rm -f ${PIDFILE}
  42. fi
  43. return $RETVAL
  44. }
  45. condrestart() {
  46. if ! service_status > /dev/null; then
  47. RETVAL=$1
  48. return
  49. fi
  50. service_stop
  51. service_start
  52. }
  53. service_status() {
  54. status_of_proc -p $PIDFILE $DAEMON_PATH/$DAEMON netdata
  55. }
  56. #
  57. # main()
  58. #
  59. case "${1:-''}" in
  60. 'start')
  61. service_start
  62. ;;
  63. 'stop')
  64. service_stop
  65. ;;
  66. 'restart')
  67. service_stop
  68. service_start
  69. ;;
  70. 'try-restart')
  71. condrestart 0
  72. ;;
  73. 'force-reload')
  74. condrestart 7
  75. ;;
  76. 'status')
  77. service_status && exit 0 || exit $?
  78. ;;
  79. *)
  80. echo "Usage: $0 {start|stop|restart|try-restart|force-reload|status}"
  81. exit 1
  82. esac