]> Pileus Git - ~andy/sunrise/blob - net-analyzer/icinga-core/files/icinga-init.d
627cc50665ea4ffd3f9b057852405d27ddc696e8
[~andy/sunrise] / net-analyzer / icinga-core / files / icinga-init.d
1 #!/sbin/runscript
2 # Copyright 1999-2004 Gentoo Foundation
3 # Distributed under the terms of the GNU General Public License v2
4 # $Header: /var/cvsroot/gentoo-x86/net-analyzer/icinga-core/files/icinga3,v 1.1 2008/04/27 18:41:25 dertobi123 Exp $
5
6 opts="${opts} reload checkconfig"
7
8 depend() {
9         need net
10         use dns logger firewall
11         after mysql postgresql
12 }
13
14 reload()
15 {
16         checkconfig || return 1
17         ebegin "Reloading configuration"
18         killall -HUP icinga &>/dev/null
19         eend $?
20 }
21
22 checkconfig() {
23         # Silent Check
24         /usr/sbin/icinga -v /etc/icinga/icinga.cfg &>/dev/null && return 0
25
26         # Now we know there's problem - run again and display errors
27         /usr/sbin/icinga -v /etc/icinga/icinga.cfg
28         eend $? "Configuration Error. Please fix your configfile"
29 }
30
31 start() {
32         checkconfig || return 1
33         ebegin "Starting icinga"
34         touch /var/icinga/icinga.log /var/icinga/status.sav
35         chown icinga:icinga /var/icinga/icinga.log /var/icinga/status.sav
36         rm -f /var/icinga/rw/icinga.cmd
37         start-stop-daemon --quiet --start --startas /usr/sbin/icinga \
38                 -e HOME="/var/icinga/home" --pidfile /var/icinga/icinga.lock \
39                 -- -d /etc/icinga/icinga.cfg
40         eend $?
41 }
42
43 stop() {
44         ebegin "Stopping icinga"
45         start-stop-daemon --quiet --stop --pidfile /var/icinga/icinga.lock
46         rm -f /var/icinga/status.log /var/icinga/icinga.tmp /var/icinga/icinga.lock /var/icinga/rw/icinga.cmd
47         eend $?
48 }
49
50 svc_restart() {
51         checkconfig || return 1
52         ebegin "Restarting icinga"
53         svc_stop
54         svc_start
55         eend $?
56 }
57