]> git.pld-linux.org Git - packages/pdns.git/blame - pdns.init
boost rebuild
[packages/pdns.git] / pdns.init
CommitLineData
d5cc2b05 1#!/bin/sh
2# pdns This is controller stript for PowerDNS name server.
3#
46c15d6b 4# chkconfig: 345 85 15
d5cc2b05 5#
6# description: pdns is is a Domain Name Server (DNS) \
7# that is used to resolve host names to IP addresses.
8
9# Source function library
10. /etc/rc.d/init.d/functions
11
12# Source networking configuration
13. /etc/sysconfig/network
14
15# Check that networking is up.
51acdf4e 16if is_yes "${NETWORKING}"; then
308f627d 17 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
51acdf4e 18 msg_network_down "PowerDNS"
19 exit 1
20 fi
21else
22 exit 0
d5cc2b05 23fi
24
25BINARYPATH=/usr/sbin
26SBINARYPATH=/usr/sbin
27SOCKETPATH=/var/run
28
29cd /var/run
30suffix=`basename $0 | awk -F- '{print $2}'`
e0b37a4a 31if [ $suffix ]; then
d5cc2b05 32 EXTRAOPTS=--config-name=$suffix
33 PROGNAME=pdns-$suffix
34else
35 PROGNAME=pdns
36fi
37
38pdns_server="/usr/sbin/pdns_server $EXTRAOPTS"
39
40doPC() {
825cfc5b 41 ret=$(/usr/bin/pdns_control $EXTRAOPTS $1 $2 2> /dev/null)
d5cc2b05 42}
43
d5cc2b05 44doPC ping
45NOTRUNNING=$?
46
5311dff8 47start() {
e0b37a4a 48 if test "$NOTRUNNING" = "0"; then
51acdf4e 49 msg_already_running "PowerDNS"
5311dff8 50 return
51acdf4e 51 fi
5311dff8
ER
52
53 msg_starting "PowerDNS (Powered DNS server)"
54 daemon $pdns_server --daemon --guardian=yes
55 RETVAL=$?
56 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/pdns
57}
58
59stop() {
60 if test "$NOTRUNNING" != "0"; then
61 msg_not_running "PowerDNS"
62 return
63 fi
64
65 msg_stopping "PowerDNS"
66 doPC quit 2>&1 >/dev/null
67 [ $? -eq 0 ] && ok || fail
68 rm /var/lock/subsys/pdns
69}
70
71restart() {
72 stop
51acdf4e 73 run_cmd "PowerDNS (3 sec. timeout)" sleep 3
5311dff8
ER
74 start
75}
76
77reload() {
78 if test "$NOTRUNNING" != "0"; then
f362320e 79 msg_not_running "PowerDNS" >&2
5311dff8
ER
80 RETVAL=7
81 return
f0d7fa7a 82 fi
5311dff8
ER
83
84 show "Reloading PowerDNS"
85 doPC cycle 2>&1 >/dev/null
86 if [ $? -eq 0 ]; then
87 ok
51acdf4e 88 else
5311dff8
ER
89 fail
90 RETVAL=1
e0b37a4a 91 fi
5311dff8
ER
92}
93
94monitor() {
e0b37a4a 95 if test "$NOTRUNNING" = "0"; then
5311dff8
ER
96 msg_already_running "PowerDNS"
97 return
98 fi
99
100 show "PowerDNS in foreground (testing mode)"
101 $pdns_server --daemon=no --guardian=no --control-console --loglevel=9
102}
103
104dump() {
105 if test "$NOTRUNNING" != "0"; then
51acdf4e 106 msg_not_running "PowerDNS"
5311dff8 107 return
e0b37a4a 108 fi
5311dff8
ER
109
110 doPC list
111 echo $ret
112}
113
114show() {
51acdf4e 115 if [ $# -lt 2 ]; then
116 msg_usage "$0 {show|mrtg|cricket} <variable_name_from_pdns_dump>"
5311dff8
ER
117 RETVAL=2
118 return
e0b37a4a 119 fi
5311dff8 120
e0b37a4a 121 if test "$NOTRUNNING" = "0"; then
51acdf4e 122 echo -n "$2="
123 doPC show $2 ; echo $ret
124 else
125 msg_not_running "PowerDNS"
e0b37a4a 126 fi
5311dff8
ER
127}
128
129mrtg() {
51acdf4e 130 if [ $# -lt 2 ]; then
131 msg_usage "$0 {show|mrtg|cricket} <variable_name_from_pdns_dump>"
5311dff8 132 RETVAL=2
e0b37a4a 133 fi
5311dff8 134
e0b37a4a 135 if test "$NOTRUNNING" = "0"; then
51acdf4e 136 doPC show $2 ; echo $ret
137 if [ "$3x" != "x" ]; then
138 doPC show $3 ; echo $ret
d5cc2b05 139 else
51acdf4e 140 echo 0
141 fi
142 doPC uptime ; echo $ret
143 echo PowerDNS daemon
144 else
f362320e 145 msg_not_running "PowerDNS" >&2
146 exit 7
e0b37a4a 147 fi
5311dff8
ER
148}
149
150cricket() {
51acdf4e 151 if [ $# -lt 2 ]; then
152 msg_usage "$0 {show|mrtg|cricket} <variable_name_from_pdns_dump>"
5311dff8 153 RETVAL=2
e0b37a4a 154 fi
5311dff8 155
e0b37a4a 156 if test "$NOTRUNNING" = "0"; then
51acdf4e 157 doPC show $2 ; echo $ret
158 else
f362320e 159 msg_not_running "PowerDNS" >&2
160 exit 7
e0b37a4a 161 fi
5311dff8
ER
162}
163
164RETVAL=0
165case "$1" in
166 stop)
167 stop
168 ;;
169 force-stop)
170 run_cmd "Killing PowerDNS without grace" killall -v -9 pdns_server
171 ;;
172 start)
173 start
174 ;;
175 restart)
176 restart
177 ;;
178 reload|force-reload)
179 reload
180 ;;
181 monitor)
182 monitor
183 ;;
184 dump)
185 dump
186 ;;
187 show)
188 show "$@"
189 ;;
190 mrtg)
191 mrtg "$@"
192 ;;
193 cricket)
194 cricket "$@"
195 ;;
196 status)
197 status pdns_server
e0b37a4a 198 ;;
51acdf4e 199 *)
f0d7fa7a 200 msg_usage "$0 {start|stop|restart|reload|force-reload|status|dump|show|mrtg|cricket|monitor} [...]"
201 exit 3
d5cc2b05 202esac
203
51acdf4e 204exit $RETVAL
This page took 0.102793 seconds and 4 git commands to generate.