#!/bin/sh # # named This shell script takes care of starting and stopping # named (BIND DNS server). # # chkconfig: 345 14 89 # # description: named (BIND) is a Domain Name Server (DNS) \ # that is used to resolve host names to IP addresses. CHROOT_TO_DIR="/var/lib/named" # Source function library . /etc/rc.d/init.d/functions # Source networking configuration . /etc/sysconfig/network # Try get config.. [ -f /etc/sysconfig/named ] && . /etc/sysconfig/named # Check that networking is up. if is_yes "${NETWORKING}"; then if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then msg_network_down "Named" exit 1 fi else exit 0 fi # Sanity check [ -e /etc/named.conf ] || exit 0 start() { # Check if the service is already running? if [ ! -f /var/lock/subsys/named ]; then msg_starting "Named" [ -f /etc/localtime ] && cp -a /etc/localtime /var/lib/named/etc/localtime touch /var/lib/named/named.log && \ chown named:named /var/lib/named/named.log daemon named -u named -t /var/lib/named \ -c /etc/named.conf -n ${NUM_CPUS:-1} /dev/null 2>&1 else msg_not_running "Named" fi } RETVAL=0 # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status named RETVAL=$? if [ -f /etc/rndc.conf ]; then /usr/sbin/rndc status RET=$? if [ $RET -ne 0 ]; then RETVAL=$RET fi fi ;; reload|force-reload) if [ -f /var/lock/subsys/named ]; then if [ -f /etc/rndc.conf ]; then run_cmd "$(nls 'Reloading %s service' 'Named')" /usr/sbin/rndc reload else msg_reloading "Named" killproc named -HUP RETVAL=$? fi else msg_not_running "Named" exit 7 fi ;; restart) stop start ;; *) msg_usage "$0 {start|stop|restart|reload|force-reload|status}" exit 3 esac exit $RETVAL