1#!/bin/sh
2#
3# Copyright (c) 2016 Nagios(R) Core(TM) Development Team
4#
5# chkconfig: - 80 30
6# description: Starts and stops the Nagios Data Out Daemon \
7#              to store data in a database
8
9#
10### BEGIN INIT INFO
11# Provides:           ndo2db
12# Required-Start:     $local_fs $remote_fs $time
13# Required-Stop:      $local_fs $remote_fs
14# Should-Start:       $syslog $network
15# Should-Stop:        $syslog $network
16# Default-Start:      2 3 4 5
17# Default-Stop:       0 1 6
18# Short-Description:  Starts and stops the Nagios Data Out Daemon
19# Description:        Starts and stops the Nagios Data Out Daemon
20#                     to store data in a database
21### END INIT INFO
22
23export SYSTEMCTL_SKIP_REDIRECT=1
24
25NDO2DB_BIN=@sbindir@/ndo2db
26NDO2DB_CFG=@pkgsysconfdir@/ndo2db.cfg
27LOCK_DIR=@subsyslockdir@
28LOCK_FILE=@subsyslockfile@
29PID_FILE=@piddir@/ndo2db.pid
30
31test -x $NDO2DB_BIN || exit 5
32
33RETVAL=0
34
35# Default these commands/functions to RedHat/CentOS etc. values
36MSG_CMD="echo -n"
37START_CMD="daemon --pidfile $PID_FILE"
38TERM_CMD="killproc -p $PID_FILE $NDO2DB_BIN -TERM"
39HUP_CMD="killproc -p $PID_FILE $NDO2DB_BIN -HUP"
40PRT_STAT="echo"
41STAT_MSG="echo -n Checking for ndo2db daemon... "
42STAT_CMD="status ndo2db"
43EXIT_CMD="exit"
44
45_set_rc (){ return; }
46
47# Source the function library
48if [ -f /etc/rc.status ]; then
49
50	. /etc/rc.status
51
52	_set_rc (){ return $RETVAL; }
53
54	# Set these commands/functions to SuSE etc. values
55	START_CMD="startproc -p $PID_FILE"
56	TERM_CMD="killproc -p $PID_FILE -TERM $NDO2DB_BIN"
57	HUP_CMD="killproc -p $PID_FILE -HUP $NDO2DB_BIN"
58	PRT_STAT="rc_status -v -r"
59	STAT_CMD="checkproc -p $PID_FILE $NDO2DB_BIN"
60	EXIT_CMD="rc_exit"
61	rc_reset
62
63elif [ -f /etc/rc.d/init.d/functions ]; then
64
65	. /etc/rc.d/init.d/functions
66
67elif [ -f /etc/init.d/functions ]; then
68
69	. /etc/init.d/functions
70
71elif [ -f /lib/lsb/init-functions ]; then
72
73	. /lib/lsb/init-functions
74
75	MSG_CMD="log_daemon_msg"
76	START_CMD="start_daemon -p $PID_FILE"
77	PRT_STAT="log_end_msg"
78	STAT_MSG=
79	STAT_CMD="status_of_proc -p $PID_FILE $NDO2DB_BIN ndo2db"
80
81elif [ -f /etc/rc.d/functions ]; then
82
83	. /etc/rc.d/functions
84
85fi
86
87
88# See how we were called.
89case "$1" in
90
91start)
92	# Start daemons.
93	$MSG_CMD "Starting ndo2db "
94	$START_CMD $NDO2DB_BIN -c $NDO2DB_CFG
95	RETVAL=$?
96	if test "$PRT_STAT" = log_end_msg; then
97		$PRT_STAT $RETVAL
98	else
99		_set_rc; $PRT_STAT
100	fi
101	if [ $RETVAL = 0 ]; then
102		[ -d $LOCK_DIR ] && touch $LOCK_FILE || true
103	fi
104	;;
105
106stop)
107	# Stop daemons.
108	$MSG_CMD "Shutting down ndo2db "
109	$TERM_CMD
110	RETVAL=$?
111	if test "$PRT_STAT" = log_end_msg; then
112		$PRT_STAT $RETVAL
113	else
114		_set_rc; $PRT_STAT
115	fi
116	if [ $RETVAL = 0 ]; then
117		[ -d $LOCK_DIR ] && rm -f $LOCK_FILE
118	fi
119	;;
120
121restart|force-reload)
122	$0 stop
123	$0 start
124	RETVAL=$?
125	;;
126
127try-restart|condrestart)
128	$STAT_CMD || exit 0
129	$0 stop
130	$0 start
131	RETVAL=$?
132	;;
133
134status)
135	$STAT_MSG
136	$STAT_CMD
137	RETVAL=$?
138	if test "$PRT_STAT" != log_end_msg; then
139		_set_rc; $PRT_STAT
140	fi
141	;;
142
143*)
144	echo "Usage: ndo2db {start|stop|restart|try-restart|condrestart|status}"
145	exit 1
146esac
147
148$EXIT_CMD $RETVAL
149