diff options
Diffstat (limited to 'net-analyzer/icinga/files/icinga-init.d-2')
-rwxr-xr-x | net-analyzer/icinga/files/icinga-init.d-2 | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/net-analyzer/icinga/files/icinga-init.d-2 b/net-analyzer/icinga/files/icinga-init.d-2 new file mode 100755 index 000000000000..85f64ad554dd --- /dev/null +++ b/net-analyzer/icinga/files/icinga-init.d-2 @@ -0,0 +1,61 @@ +#!/sbin/runscript +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-analyzer/icinga/files/icinga-init.d-2,v 1.7 2012/08/19 04:43:25 prometheanfire Exp $ + +: ${ICINGACFG:=/etc/icinga/icinga.cfg} + +extra_commands="checkconfig" +extra_started_commands="reload" + +command=/usr/sbin/icinga +command_args="-d ${ICINGACFG}" + +get_config() { + sed -n -e 's:^[ \t]*'$1'=\([^#]\+\).*:\1:p' \ + "${ICINGACFG}" +} + +pidfile=$(get_config lock_file) +start_stop_daemon_args="-e HOME=/var/lib/icinga" + +depend() { + need net + use dns logger firewall mysql postgresql ido2db +} + +checkconfig() { + # Silent Check + ${command} -v ${ICINGACFG} &>/dev/null && return 0 + # Now we know there's problem - run again and display errors + ${command} -v ${ICINGACFG} + eend $? "Configuration Error. Please fix your configfile" +} + +reload() +{ + checkconfig || return 1 + ebegin "Reloading configuration" + kill -HUP $(cat ${pidfile}) &>/dev/null + eend $? +} + +start_pre() { + checkpath -d -o icinga:icinga $(get_config temp_path) $(dirname $(get_config lock_file)) $(dirname $(get_config log_file)) $(dirname $(get_config status_file)) + checkpath -f -o icinga:icinga $(get_config log_file) + rm -f $(get_config command_file) +} + +stop_post() { + rm -f $(get_config command_file) + rm -r /tmp/icinga +} + +svc_restart() { + checkconfig || return 1 + ebegin "Restarting icinga" + svc_stop + svc_start + eend $? +} + |