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