#!/bin/sh # # Startup script for the DNS caching server # # chkconfig: 345 14 89 # description: This script starts your DNS caching server # processname: dnsmasq # pidfile: /var/run/dnsmasq.pid # Set some frequently user variables SERVICE=dnsmasq LOCKFILE=/var/lock/subsys/$SERVICE MSG=$SERVICE CMD=$SERVICE # Source funtion library . /etc/rc.d/init.d/functions # Get network config . /etc/sysconfig/network # 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 $MSG exit 1 fi else exit 0 fi MAILHOSTNAME="" RESOLV_CONF="" DHCP_LEASE="/var/lib/dhcp/dhcpd.leases" DOMAIN_SUFFIX=`dnsdomainname` OPTIONS="" # Get service config [ -f "/etc/sysconfig/$SERVICE" ] && . "/etc/sysconfig/$SERVICE" # Set proper options for dnsmasq [ -n "$MAILHOSTNAME" ] && OPTIONS="$OPTIONS -m $MAILHOSTNAME" [ -n "$RESOLV_CONF" ] && OPTIONS="$OPTIONS -r $RESOLV_CONF" [ -n "$DHCP_LEASE" ] && OPTIONS="$OPTIONS -l $DHCP_LEASE" [ -n "$DOMAIN_SUFFIX" ] && OPTIONS="$OPTIONS -s $DOMAIN_SUFFIX" [ -n "$INTERFACE" ] && OPTIONS="$OPTIONS -i $INTERFACE" RETVAL=0 # See how we were called. case "$1" in start) if [ ! -f "$LOCKFILE" ]; then msg_starting $MSG daemon $CMD $OPTIONS RETVAL=$? [ $RETVAL -eq 0 ] && touch $LOCKFILE else msg_already_running $MSG fi ;; stop) if [ -f "$LOCKFILE" ]; then msg_stopping $MSG killproc $CMD rm -f $LOCKFILE >/dev/null 2>&1 else msg_not_running $MSG fi ;; status) status $CMD ;; restart|force-reload) $0 stop $0 start exit $? ;; *) msg_usage "$0 {start|stop|restart|force-reload|status}" exit 3 esac exit $RETVAL