]> git.pld-linux.org Git - packages/bind.git/blame - named.init
Up to 9.18.25
[packages/bind.git] / named.init
CommitLineData
830cb9db 1#!/bin/sh
d584f36f 2#
da1295cd 3# named This shell script takes care of starting and stopping
4# named (BIND DNS server).
d584f36f 5#
1b188854 6# chkconfig: 345 11 89
b503f367 7#
da1295cd 8# description: named (BIND) is a Domain Name Server (DNS) \
9# that is used to resolve host names to IP addresses.
d584f36f 10
3f8b439e
MM
11CHROOT_TO_DIR="/var/lib/named"
12
b4c6eeae 13# Source function library
d584f36f
AF
14. /etc/rc.d/init.d/functions
15
b4c6eeae 16# Source networking configuration
d584f36f
AF
17. /etc/sysconfig/network
18
19e15e8f
AM
19NAMED_OPT=""
20
830cb9db 21# Try get config..
b4c6eeae 22[ -f /etc/sysconfig/named ] && . /etc/sysconfig/named
de6991fc 23
da1295cd 24# Check that networking is up.
ac0d2e47 25if is_yes "${NETWORKING}"; then
74804609 26 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
ac0d2e47 27 msg_network_down "Named"
28 exit 1
29 fi
30else
31 exit 0
da1295cd 32fi
de6991fc 33
da1295cd 34# Sanity check
95005e4c 35[ -e /etc/named.conf ] || exit 0
da1295cd 36
19e15e8f
AM
37[ -n "$NUM_CPUS" ] && NAMED_OPT="$NAMED_OPT -n $NUM_CPUS"
38
7f19f72c
AM
39# configtest itself
40configtest() {
431ca790 41 /usr/bin/named-checkconf -j -t $CHROOT_TO_DIR 2>&1
7f19f72c
AM
42 return $?
43}
44
45checkconfig() {
46 local details=${1:-0}
47
48 if [ $details -eq 1 ]; then
49 # run config test and display report (status action)
50 show "Checking %s configuration" "Named"; busy
51 local out
52 out=`configtest 2>&1`
53 RETVAL=$?
54 [ $RETVAL -eq 0 ] && ok || fail
55 [ "$out" ] && echo >&2 "$out"
56 else
57 # run config test and abort with nice message if failed
58 # (for actions checking status before action).
59 show "Checking %s configuration" "Named"; busy
60 configtest >/dev/null 2>&1
61 RETVAL=$?
62 if [ $RETVAL -eq 0 ]; then
63 ok
64 else
65 fail
66 nls 'Configuration test failed. See details with %s "checkconfig"' $0
67 exit $RETVAL
68 fi
69 fi
70}
71
9d5ad9ba 72start() {
135e3b94 73 # Check if the service is already running?
4df1ee68 74 if [ -f /var/lock/subsys/named ]; then
506ed35a 75 msg_already_running "Named"
4df1ee68 76 return
135e3b94 77 fi
4df1ee68 78
7f19f72c 79 [ "$1" -eq 0 ] || checkconfig
4df1ee68
ER
80 msg_starting "Named"
81 modprobe -s capability > /dev/null 2>&1
82 [ -f /etc/localtime ] && cp -puL /etc/localtime $CHROOT_TO_DIR/etc/localtime
83 touch $CHROOT_TO_DIR/named.log && \
84 chown named:named $CHROOT_TO_DIR/named.log
85 daemon --pidfile $CHROOT_TO_DIR/named.pid /usr/sbin/named -u named \
86 -t $CHROOT_TO_DIR -c /etc/named.conf $NAMED_OPT </dev/null
87 RETVAL=$?
88 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/named
9d5ad9ba
ER
89}
90
91stop() {
4df1ee68
ER
92 if [ ! -f /var/lock/subsys/named ]; then
93 msg_not_running "Named"
94 return
95 fi
96
97 msg_stopping "Named"
98 killproc --pidfile $CHROOT_TO_DIR/named.pid named
99 rm -f /var/lock/subsys/named >/dev/null 2>&1
100}
101
102reload() {
103 if [ ! -f /var/lock/subsys/named ]; then
104 msg_not_running "Named"
105 RETVAL=7
106 return
107 fi
108
7f19f72c 109 checkconfig
4df1ee68
ER
110 if [ -f /etc/rndc.conf ]; then
111 run_cmd "$(nls 'Reloading %s service' 'Named')" /usr/sbin/rndc reload
ac0d2e47 112 else
4df1ee68
ER
113 msg_reloading "Named"
114 killproc named -HUP
115 RETVAL=$?
116 fi
117}
118
119condrestart() {
120 if [ ! -f /var/lock/subsys/named ]; then
ac0d2e47 121 msg_not_running "Named"
4df1ee68
ER
122 RETVAL=$1
123 return
ac0d2e47 124 fi
4df1ee68 125
7f19f72c 126 checkconfig
4df1ee68
ER
127 stop
128 start
9d5ad9ba
ER
129}
130
131RETVAL=0
132# See how we were called.
133case "$1" in
134 start)
437c8e3f 135 start
9d5ad9ba
ER
136 ;;
137 stop)
437c8e3f 138 stop
b4c6eeae 139 ;;
4df1ee68 140 restart)
7f19f72c 141 checkconfig
4df1ee68
ER
142 stop
143 start
144 ;;
145 try-restart)
146 condrestart 0
147 ;;
148 reload|force-reload)
149 reload
150 ;;
7f19f72c
AM
151 checkconfig|configtest)
152 checkconfig 1
153 ;;
d584f36f 154 status)
95005e4c 155 status named
74804609 156 RETVAL=$?
9a834b85 157 if [ -f /etc/rndc.conf ]; then
89e3a9a3 158 /usr/sbin/rndc status
a173f3e0
ER
159 RET=$?
160 if [ $RET -ne 0 ]; then
161 RETVAL=$RET
162 fi
89e3a9a3 163 fi
135e3b94 164 ;;
d584f36f 165 *)
7f19f72c 166 msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|configtest|status}"
9a834b85 167 exit 3
d584f36f
AF
168esac
169
14d47417 170exit $RETVAL
This page took 0.068024 seconds and 4 git commands to generate.