123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- #!/usr/bin/env bash
- #
- # Netdata LSB start script
- #
- # Copyright:
- # SPDX-License-Identifier: GPL-3.0-or-later
- #
- # Author:
- # Costa Tsaousis <costa@netdata.cloud>
- # Pavlos Emm. Katsoulakis <paul@netdata.cloud>
- ### BEGIN INIT INFO
- # Provides: netdata
- # Required-Start: $local_fs $remote_fs $network $named $time
- # Required-Stop: $local_fs $remote_fs $network $named $time
- # Should-Start: $local_fs $network $named $remote_fs $time $all
- # Should-Stop: $local_fs $network $named $remote_fs $time $all
- # Default-Start: 2 3 4 5
- # Default-Stop: 0 1 6
- # Short-Description: Start and stop the netdata real-time monitoring server daemon
- # Description: Controls the main netdata monitoring server daemon "netdata".
- # and all its plugins.
- ### END INIT INFO
- #
- set -e
- set -u
- ${DEBIAN_SCRIPT_DEBUG:+ set -v -x}
- DAEMON="netdata"
- DAEMON_PATH=@sbindir_POST@
- PIDFILE_PATH=@localstatedir_POST@/run/netdata
- PIDFILE=$PIDFILE_PATH/$DAEMON.pid
- DAEMONOPTS="-P $PIDFILE"
- test -x $DAEMON_PATH/$DAEMON || exit 0
- . /lib/lsb/init-functions
- # Safeguard (relative paths, core dumps..)
- cd /
- umask 022
- service_start() {
- if [ ! -d $PIDFILE_PATH ]; then
- mkdir -p $PIDFILE_PATH
- fi
-
- chown @netdata_user_POST@:@netdata_user_POST@ $PIDFILE_PATH
-
- log_success_msg "Starting real-time performance monitoring"
- start_daemon -p $PIDFILE $DAEMON_PATH/$DAEMON $DAEMONOPTS
- RETVAL=$?
- case "${RETVAL}" in
- 0) log_success_msg "Started real-time performance monitoring" ;;
- *) log_error_msg "Failed to start real-time performance monitoring" ;;
- esac
- return $RETVAL
- }
- service_stop() {
- log_success_msg "Stopping real-time performance monitoring"
- killproc -p ${PIDFILE} $DAEMON_PATH/$DAEMON
- RETVAL=$?
- case "${RETVAL}" in
- 0) log_success_msg "Stopped real-time performance monitoring" ;;
- *) log_error_msg "Failed to stop real-time performance monitoring" ;;
- esac
- if [ $RETVAL -eq 0 ]; then
- rm -f ${PIDFILE}
- fi
- return $RETVAL
- }
- condrestart() {
- if ! service_status > /dev/null; then
- RETVAL=$1
- return
- fi
- service_stop
- service_start
- }
- service_status() {
- pidofproc -p $PIDFILE $DAEMON_PATH/$DAEMON
- }
- #
- # main()
- #
- case "${1:-''}" in
- 'start')
- service_start
- ;;
- 'stop')
- service_stop
- ;;
- 'restart')
- service_stop
- service_start
- ;;
- 'try-restart')
- condrestart 0
- ;;
- 'force-reload')
- condrestart 7
- ;;
- 'status')
- service_status && exit 0 || exit $?
- ;;
- *)
- echo "Usage: $0 {start|stop|restart|try-restart|force-reload|status}"
- exit 1
- esac
|