]> git.pld-linux.org Git - packages/bind.git/blob - named.init
- up to 9.6.1.P2
[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_starting "Named"
43                 modprobe -s capability > /dev/null 2>&1
44                 [ -f /etc/localtime ] && cp -puL /etc/localtime $CHROOT_TO_DIR/etc/localtime
45                 touch $CHROOT_TO_DIR/named.log && \
46                         chown named:named $CHROOT_TO_DIR/named.log
47                 daemon --pidfile /var/lib/named/named.pid /usr/sbin/named -u named \
48                         -t $CHROOT_TO_DIR -c /etc/named.conf $NAMED_OPT </dev/null
49                 RETVAL=$?
50                 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/named
51         else
52                 msg_already_running "Named"
53         fi
54 }
55
56 stop() {
57         if [ -f /var/lock/subsys/named ]; then
58                 msg_stopping "Named"
59                 killproc --pidfile /var/lib/named/named.pid named
60                 rm -f /var/lock/subsys/named >/dev/null 2>&1
61         else
62                 msg_not_running "Named"
63         fi
64 }
65
66 RETVAL=0
67 # See how we were called.
68 case "$1" in
69   start)
70         start
71         ;;
72   stop)
73         stop
74         ;;
75   status)
76         status named
77         RETVAL=$?
78         if [ -f /etc/rndc.conf ]; then
79                 /usr/sbin/rndc status
80                 RET=$?
81                 if [ $RET -ne 0 ]; then
82                         RETVAL=$RET
83                 fi
84         fi
85         ;;
86   reload|force-reload)
87         if [ -f /var/lock/subsys/named ]; then
88                 if [ -f /etc/rndc.conf ]; then
89                         run_cmd "$(nls 'Reloading %s service' 'Named')" /usr/sbin/rndc reload
90                 else
91                         msg_reloading "Named"
92                         killproc named -HUP
93                         RETVAL=$?
94                 fi
95         else
96                 msg_not_running "Named"
97                 exit 7
98         fi
99
100         ;;
101   restart)
102         stop
103         start
104         ;;
105   *)
106         msg_usage "$0 {start|stop|restart|reload|force-reload|status}"
107         exit 3
108 esac
109
110 exit $RETVAL
This page took 0.260573 seconds and 3 git commands to generate.