#!/bin/sh ### BEGIN INIT INFO # Provides: netdata # Required-Start: $local_fs $remote_fs $network # Required-Stop: $local_fs $remote_fs $network # Should-Start: $syslog # Should-Stop: $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Real-time charts for system monitoring # Description: Start netdata, a real-time monitoring tool ### END INIT INFO # Documentation # man netdata # file:///usr/share/doc/netdata/html/index.html # https://github.com/netdata/netdata # Load the VERBOSE setting and other rcS variables . /lib/init/vars.sh # Define LSB log_* functions. . /lib/lsb/init-functions NAME=netdata PIDFILE=/run/netdata.pid DAEMON=/usr/sbin/$NAME DAEMON_USER=$NAME DAEMON_ARGS="-P $PIDFILE" # Exit if executable is not installed [ -x "$DAEMON" ] || exit 0 PATH=/sbin:/bin:/usr/sbin:/usr/bin DESC="the netdata daemon" CONF_FNAME=/etc/netdata/netdata.conf STOP_SCHEDULE="${STOP_SCHEDULE:-QUIT/5/TERM/5/KILL/5}" case "$1" in start) if [ ! -f "$CONF_FNAME" ]; then log_action_msg "Not starting $DESC: $CONF_FNAME is missing." exit 0 fi log_action_begin_msg "Starting $DESC" if start-stop-daemon --start --quiet --pidfile $PIDFILE --startas $DAEMON --test; then if start-stop-daemon --start --quiet --pidfile $PIDFILE --startas $DAEMON -- $DAEMON_ARGS; then log_action_end_msg 0 else log_action_end_msg 1 exit 1 fi else log_action_end_msg 0 "already running" fi ;; stop) log_action_begin_msg "Stopping $DESC" pid=`cat $PIDFILE 2>/dev/null` || true if test ! -f $PIDFILE -o -z "$pid"; then log_action_end_msg 0 "not running - there is no $PIDFILE" exit 0 fi if start-stop-daemon --stop --quiet --pidfile $PIDFILE --retry=$STOP_SCHEDULE; then log_action_end_msg 0 else log_action_end_msg 1 "$DAEMON died: process $pid not running; or permission denied" exit 1 fi ;; restart|force-reload) $0 stop $0 start ;; status) if test ! -r $(dirname $PIDFILE); then log_failure_msg "cannot read PID file $PIDFILE" exit 4 fi pid=`cat $PIDFILE 2>/dev/null` || true if test ! -f $PIDFILE -o -z "$pid"; then log_failure_msg "$NAME is not running" exit 3 fi if ps "$pid" >/dev/null 2>&1; then log_success_msg "$NAME is running" exit 0 else log_failure_msg "$NAME is not running" exit 1 fi ;; *) log_action_msg "Usage: $0 {start|stop|restart|force-reload|status}" >&2 exit 1 ;; esac exit 0