netdata-init-d.in 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. #!/bin/sh
  2. # SPDX-License-Identifier: GPL-3.0-or-later
  3. #
  4. # netdata Real-time performance monitoring, done right
  5. # chkconfig: 345 99 01
  6. # description: Netdata is a daemon that collects data in real-time (per second)
  7. # and presents a web site to view and analyze them. The presentation
  8. # is also real-time and full of interactive charts that precisely
  9. # render all collected values.
  10. # processname: netdata
  11. # Source functions
  12. . /etc/rc.d/init.d/functions
  13. DAEMON="netdata"
  14. DAEMON_PATH=@sbindir_POST@
  15. PIDFILE_PATH=@localstatedir_POST@/run/netdata
  16. PIDFILE=$PIDFILE_PATH/$DAEMON.pid
  17. DAEMONOPTS="-P $PIDFILE"
  18. STOP_TIMEOUT="60"
  19. [ -e /etc/sysconfig/$DAEMON ] && . /etc/sysconfig/$DAEMON
  20. LOCKFILE=/var/lock/subsys/$DAEMON
  21. service_start()
  22. {
  23. [ -x $DAEMON_PATH ] || exit 5
  24. [ ! -d $PIDFILE_PATH ] && mkdir -p $PIDFILE_PATH
  25. echo -n "Starting $DAEMON..."
  26. daemon $DAEMON_PATH/$DAEMON $DAEMONOPTS
  27. RETVAL=$?
  28. echo
  29. [ $RETVAL -eq 0 ] && touch $LOCKFILE
  30. return $RETVAL
  31. }
  32. service_stop()
  33. {
  34. printf "%-50s" "Stopping $DAEMON..."
  35. killproc -p ${PIDFILE} -d ${STOP_TIMEOUT} $DAEMON
  36. RETVAL=$?
  37. echo
  38. [ $RETVAL -eq 0 ] && rm -f ${PIDFILE} ${LOCKFILE}
  39. return $RETVAL
  40. }
  41. condrestart()
  42. {
  43. if ! service_status > /dev/null; then
  44. RETVAL=$1
  45. return $RETVAL
  46. fi
  47. service_stop
  48. service_start
  49. }
  50. service_status()
  51. {
  52. status -p ${PIDFILE} $DAEMON_PATH/$DAEMON
  53. }
  54. service_status_quiet()
  55. {
  56. status -p ${PIDFILE} $DAEMON_PATH/$DAEMON >/dev/null 2>&1
  57. }
  58. case "$1" in
  59. start)
  60. service_status_quiet && exit 0
  61. service_start
  62. ;;
  63. stop)
  64. service_status_quiet || exit 0
  65. service_stop
  66. ;;
  67. restart)
  68. service_stop
  69. service_start
  70. ;;
  71. try-restart)
  72. condrestart 0
  73. ;;
  74. force-reload)
  75. condrestart 7
  76. ;;
  77. status)
  78. service_status
  79. ;;
  80. *)
  81. echo "Usage: $0 {start|stop|restart|try-restart|force-reload|status}"
  82. exit 3
  83. esac