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