]> git.pld-linux.org Git - packages/bind.git/blob - named.init
Up to 9.18.25
[packages/bind.git] / named.init
1 #!/bin/sh
2 #
3 # named         This shell script takes care of starting and stopping
4 #               named (BIND DNS server).
5 #
6 # chkconfig:    345 11 89
7 #
8 # description:  named (BIND) is a Domain Name Server (DNS) \
9 #               that is used to resolve host names to IP addresses.
10
11 CHROOT_TO_DIR="/var/lib/named"
12
13 # Source function library
14 . /etc/rc.d/init.d/functions
15
16 # Source networking configuration
17 . /etc/sysconfig/network
18
19 NAMED_OPT=""
20
21 # Try get config..
22 [ -f /etc/sysconfig/named ] && . /etc/sysconfig/named
23
24 # Check that networking is up.
25 if is_yes "${NETWORKING}"; then
26         if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
27                 msg_network_down "Named"
28                 exit 1
29         fi
30 else
31         exit 0
32 fi
33
34 # Sanity check
35 [ -e /etc/named.conf ] || exit 0
36
37 [ -n "$NUM_CPUS" ] && NAMED_OPT="$NAMED_OPT -n $NUM_CPUS"
38
39 start() {
40         # Check if the service is already running?
41         if [ -f /var/lock/subsys/named ]; then
42                 msg_already_running "Named"
43                 return
44         fi
45
46         msg_starting "Named"
47         modprobe -s capability > /dev/null 2>&1
48         [ -f /etc/localtime ] && cp -puL /etc/localtime $CHROOT_TO_DIR/etc/localtime
49         touch $CHROOT_TO_DIR/named.log && \
50                 chown named:named $CHROOT_TO_DIR/named.log
51         daemon --pidfile $CHROOT_TO_DIR/named.pid /usr/sbin/named -u named \
52                 -t $CHROOT_TO_DIR -c /etc/named.conf $NAMED_OPT </dev/null
53         RETVAL=$?
54         [ $RETVAL -eq 0 ] && touch /var/lock/subsys/named
55 }
56
57 stop() {
58         if [ ! -f /var/lock/subsys/named ]; then
59                 msg_not_running "Named"
60                 return
61         fi
62
63         msg_stopping "Named"
64         killproc --pidfile $CHROOT_TO_DIR/named.pid named
65         rm -f /var/lock/subsys/named >/dev/null 2>&1
66 }
67
68 reload() {
69         if [ ! -f /var/lock/subsys/named ]; then
70                 msg_not_running "Named"
71                 RETVAL=7
72                 return
73         fi
74
75         if [ -f /etc/rndc.conf ]; then
76                 run_cmd "$(nls 'Reloading %s service' 'Named')" /usr/sbin/rndc reload
77         else
78                 msg_reloading "Named"
79                 killproc named -HUP
80                 RETVAL=$?
81         fi
82 }
83
84 condrestart() {
85         if [ ! -f /var/lock/subsys/named ]; then
86                 msg_not_running "Named"
87                 RETVAL=$1
88                 return
89         fi
90
91         stop
92         start
93 }
94
95 RETVAL=0
96 # See how we were called.
97 case "$1" in
98   start)
99         start
100         ;;
101   stop)
102         stop
103         ;;
104   restart)
105         stop
106         start
107         ;;
108   try-restart)
109         condrestart 0
110         ;;
111   reload|force-reload)
112         reload
113         ;;
114   status)
115         status named
116         RETVAL=$?
117         if [ -f /etc/rndc.conf ]; then
118                 /usr/sbin/rndc status
119                 RET=$?
120                 if [ $RET -ne 0 ]; then
121                         RETVAL=$RET
122                 fi
123         fi
124         ;;
125   *)
126         msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status}"
127         exit 3
128 esac
129
130 exit $RETVAL
This page took 0.055899 seconds and 3 git commands to generate.