master
in 95 lines 1.91 KB
Raw
1 #!/bin/sh
2 # SPDX-License-Identifier: GPL-3.0-or-later
3 #
4 # Netdata - X-Ray Vision for your infrastructure!
5 # chkconfig: 345 99 01
6 # description: netdata is a high-resolution, real-time, low-latency observability platform.
7 # Per-second data collection, high-performance long-term storage, low-latency
8 # visualization, machine-learning based anomaly detection, alerts and notifications,
9 # advanced correlations and fast root cause analysis, native horizontal scalability.
10 # processname: netdata
11
12 # Source functions
13 . /etc/rc.d/init.d/functions
14
15 DAEMON="netdata"
16 DAEMON_PATH=@sbindir_POST@
17 PIDFILE_PATH=@localstatedir_POST@/run/netdata
18 PIDFILE=$PIDFILE_PATH/$DAEMON.pid
19 DAEMONOPTS="-P $PIDFILE"
20 STOP_TIMEOUT="60"
21
22 [ -e /etc/sysconfig/$DAEMON ] && . /etc/sysconfig/$DAEMON
23
24 LOCKFILE=/var/lock/subsys/$DAEMON
25
26 service_start()
27 {
28 [ -x $DAEMON_PATH ] || exit 5
29 [ ! -d $PIDFILE_PATH ] && mkdir -p $PIDFILE_PATH
30 chown @netdata_user_POST@:@netdata_user_POST@ $PIDFILE_PATH
31 echo -n "Starting $DAEMON..."
32 daemon $DAEMON_PATH/$DAEMON $DAEMONOPTS
33 RETVAL=$?
34 echo
35 [ $RETVAL -eq 0 ] && touch $LOCKFILE
36 return $RETVAL
37 }
38
39 service_stop()
40 {
41 printf "%-50s" "Stopping $DAEMON..."
42 killproc -p ${PIDFILE} -d ${STOP_TIMEOUT} $DAEMON
43 RETVAL=$?
44 echo
45 [ $RETVAL -eq 0 ] && rm -f ${PIDFILE} ${LOCKFILE}
46 return $RETVAL
47 }
48
49 condrestart()
50 {
51 if ! service_status > /dev/null; then
52 RETVAL=$1
53 return $RETVAL
54 fi
55
56 service_stop
57 service_start
58 }
59
60 service_status()
61 {
62 status -p ${PIDFILE} $DAEMON_PATH/$DAEMON
63 }
64
65 service_status_quiet()
66 {
67 status -p ${PIDFILE} $DAEMON_PATH/$DAEMON >/dev/null 2>&1
68 }
69
70 case "$1" in
71 start)
72 service_status_quiet && exit 0
73 service_start
74 ;;
75 stop)
76 service_status_quiet || exit 0
77 service_stop
78 ;;
79 restart)
80 service_stop
81 service_start
82 ;;
83 try-restart)
84 condrestart 0
85 ;;
86 force-reload)
87 condrestart 7
88 ;;
89 status)
90 service_status
91 ;;
92 *)
93 echo "Usage: $0 {start|stop|restart|try-restart|force-reload|status}"
94 exit 3
95 esac