blob: 791ed5026a267d2e0a5e6ebf439681f50e7c1a33 (
plain)
#!/bin/sh
### BEGIN INIT INFO
# Provides: pdns-recursor
# Required-Start: $network $remote_fs $syslog
# Required-Stop: $network $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: PowerDNS Recursor
### END INIT INFO
# chkconfig: - 80 75
# description: pdns_recursor is a versatile high performance recursing nameserver
BINARYPATH=/usr/bin
SBINARYPATH=/usr/sbin
SOCKETPATH=/var/run
pdns_server=$SBINARYPATH/pdns_recursor
[ -f "$pdns_server" ] || exit 0
doPC()
{
ret=`$BINARYPATH/rec_control $EXTRAOPTS $1 $2 2> /dev/null`
}
doPC ping
NOTRUNNING=$?
case "$1" in
status)
if test "$NOTRUNNING" = "0"
then
echo "running"
exit 0
else
echo "not running"
# Note: 3 is a white lie. We currently don't *really*
# know that it's not running, or if the ping failed for
# other reasons (= 4).
exit 3
fi
;;
stop)
echo -n "Stopping PowerDNS recursing nameserver: "
if test "$NOTRUNNING" = "0"
then
doPC quit
echo $ret
else
echo "not running"
exit 1
fi
;;
force-stop)
echo -n "Stopping PowerDNS recursing nameserver: "
killall -v -9 $pdns_server
echo "killed"
;;
start)
echo -n "Starting PowerDNS recursing nameserver: "
if test "$NOTRUNNING" = "0"
then
echo "already running"
exit 1
else
$pdns_server --daemon
if test "$?" = "0"
then
echo "started"
fi
fi
;;
force-reload | restart)
echo -n "Restarting PowerDNS recursing nameserver: "
echo -n stopping and waiting..
doPC quit
sleep 3
echo done
$0 start
;;
monitor)
if test "$NOTRUNNING" = "0"
then
echo "already running"
else
$pdns_server --daemon=no --quiet=no --control-console --loglevel=9
fi
;;
*)
echo pdns [start\|stop\|force-reload\|restart\|status\|monitor]
;;
esac
|