summaryrefslogtreecommitdiffstats
path: root/network/pdns-recursor/rc.pdns-recursor
diff options
context:
space:
mode:
Diffstat (limited to 'network/pdns-recursor/rc.pdns-recursor')
-rw-r--r--network/pdns-recursor/rc.pdns-recursor103
1 files changed, 103 insertions, 0 deletions
diff --git a/network/pdns-recursor/rc.pdns-recursor b/network/pdns-recursor/rc.pdns-recursor
new file mode 100644
index 0000000000..791ed5026a
--- /dev/null
+++ b/network/pdns-recursor/rc.pdns-recursor
@@ -0,0 +1,103 @@
+#!/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
+
+