summaryrefslogtreecommitdiff
path: root/net-mgmt/nagios/files/nagios.in
diff options
context:
space:
mode:
Diffstat (limited to 'net-mgmt/nagios/files/nagios.in')
-rw-r--r--net-mgmt/nagios/files/nagios.in70
1 files changed, 70 insertions, 0 deletions
diff --git a/net-mgmt/nagios/files/nagios.in b/net-mgmt/nagios/files/nagios.in
new file mode 100644
index 000000000000..e1afec9ced54
--- /dev/null
+++ b/net-mgmt/nagios/files/nagios.in
@@ -0,0 +1,70 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: nagios
+# REQUIRE: DAEMON
+# BEFORE: LOGIN
+# KEYWORD: shutdown
+
+#
+# Add the following lines to /etc/rc.conf to enable nagios:
+# nagios_enable (bool): Set to "NO" by default.
+# Set it to "YES" to enable nagios.
+# nagios_flags (str): Set to "" by default.
+# nagios_configfile (str): Set to "%%PREFIX%%/etc/nagios/nagios.cfg" by default.
+#
+
+. %%RC_SUBR%%
+
+name="nagios"
+rcvar=`set_rcvar`
+
+command="%%PREFIX%%/bin/nagios"
+command_args="-d"
+extra_commands="reload"
+pidfile="%%NAGIOSDIR%%/nagios.lock"
+nagios_user="%%NAGIOSUSER%%"
+
+start_precmd="start_precmd"
+stop_postcmd="stop_postcmd"
+restart_precmd="nagios_checkconfig"
+reload_precmd="nagios_checkconfig"
+sig_reload=HUP
+
+[ -z "${nagios_enable}" ] && nagios_enable="NO"
+[ -z "${nagios_flags}" ] && nagios_flags=""
+[ -z "${nagios_configfile}" ] && nagios_configfile="%%PREFIX%%/etc/nagios/nagios.cfg"
+
+load_rc_config "${name}"
+
+required_files="${nagios_configfile}"
+command_args="${command_args} ${nagios_configfile}"
+
+nagios_checkconfig() {
+ echo -n "Performing sanity check of nagios configuration: "
+ ${command} -v ${nagios_configfile} 2>&1 >/dev/null
+ if [ $? != 0 ]; then
+ echo "FAILED"
+ ${command} -v ${nagios_configfile}
+ return 1
+ else
+ echo "OK"
+ fi
+}
+
+start_precmd() {
+ if ! nagios_checkconfig; then
+ return 1
+ fi
+
+ su -m "${nagios_user}" -c "touch \"%%NAGIOSDIR%%/nagios.log\" \"%%NAGIOSDIR%%/status.sav\""
+ rm -f "%%NAGIOSDIR%%/rw/nagios.cmd"
+}
+
+stop_postcmd() {
+ rm -f "%%NAGIOSDIR%%/nagios.tmp" "%%NAGIOSDIR%%/rw/nagios.cmd"
+}
+
+run_rc_command "$1"