#! /bin/sh
### BEGIN INIT INFO
# Provides:          ntopng
# Required-Start:    $remote_fs $syslog redis-server
# Required-Stop:     $remote_fs $syslog redis-server
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Should-Start:      $network
# Should-Stop:       $network
# Short-Description: Start ntopng daemon
# Description:       Enable services provided by ntopng
### END INIT INFO

DAEMON="/usr/sbin/ntopng"
NAME="ntopng"
DESC="network top daemon"
HOMEDIR="/var/lib/ntopng"
LOGDIR="/var/log/ntopng"
SCRIPTNAME=/etc/init.d/$NAME
PIDFILE=/var/tmp/ntopng.pid
INTERFACES=""

test -f $DAEMON || exit 0

. /lib/lsb/init-functions

ARGS="/etc/ntopng.conf"

ntop_start() {
  /sbin/start-stop-daemon --start --quiet --name $NAME --pidfile $PIDFILE \
      --exec $DAEMON -- $ARGS \
      > /var/log/ntopng/startup.log 2>&1
  retval=$?
  if [ "$retval" -eq 1 ]; then
    log_progress_msg "already running"
    return 0
  fi
  return $retval
}

ntop_stop() {
  /sbin/start-stop-daemon --stop --quiet --oknodo --name $NAME --exec $DAEMON --retry 9 --pidfile $PIDFILE
  return $?
}

case "$1" in
  start)
    log_daemon_msg "Starting $DESC" "$NAME"
    if ntop_start; then
      log_success_msg
    else
      log_failure_msg
    fi
    ;;
  stop)
    log_daemon_msg "Stopping $DESC" "$NAME"
    if ntop_stop; then
      log_success_msg
    else
      log_failure_msg
    fi
    ;;
  restart | force-reload)
    log_daemon_msg "Restarting $DESC" "$NAME"
    if ntop_stop && ntop_start; then
      log_success_msg
    else
      log_failure_msg
    fi
    ;;
  reload | try-restart)
    log_action_msg "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}"
    exit 3
    ;;
  status)
    status_of_proc $DAEMON $NAME
    ;;
  *)
    log_action_msg "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}"
    exit 1
    ;;
esac

exit 0
