aboutsummaryrefslogtreecommitdiffstats
path: root/community/pdns/pdns.initd
diff options
context:
space:
mode:
Diffstat (limited to 'community/pdns/pdns.initd')
-rw-r--r--community/pdns/pdns.initd66
1 files changed, 66 insertions, 0 deletions
diff --git a/community/pdns/pdns.initd b/community/pdns/pdns.initd
new file mode 100644
index 0000000000..b6429bf858
--- /dev/null
+++ b/community/pdns/pdns.initd
@@ -0,0 +1,66 @@
+#!/sbin/openrc-run
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-dns/pdns/files/pdns,v 1.10 2007/05/07 20:19:18 swegener Exp $
+
+name=pdns
+daemon=/usr/sbin/pdns_server
+pdns_control=/usr/bin/pdns_control
+
+extra_started_commands="dump reload"
+extra_commands="monitor"
+
+PDNS_INSTANCE="${SVCNAME#pdns[.-]}"
+PDNS_CONFIG=""
+
+if [ -n "${PDNS_INSTANCE}" ] && [ "${PDNS_INSTANCE}" != "pdns" ]
+then
+ PDNS_CONFIG="--config-name=${PDNS_INSTANCE}"
+else
+ PDNS_INSTANCE="default"
+fi
+
+depend() {
+ need net
+ after firewall
+}
+
+start() {
+ ebegin "Starting PowerDNS (${PDNS_INSTANCE})"
+ ${daemon} \
+ ${PDNS_CONFIG} \
+ --daemon=yes \
+ --guardian=yes
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping PowerDNS (${PDNS_INSTANCE})"
+ ${pdns_control} ${PDNS_CONFIG} quit &>/dev/null
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading PowerDNS (${PDNS_INSTANCE})"
+ ${pdns_control} ${PDNS_CONFIG} cycle &>/dev/null
+ eend $?
+}
+
+dump() {
+ ebegin "Dumping PowerDNS (${PDNS_INSTANCE}) variables"
+ ${pdns_control} ${PDNS_CONFIG} list
+ eend $?
+}
+
+monitor() {
+ ebegin "Starting PowerDNS (${PDNS_INSTANCE}) in monitor mode"
+ ${daemon} \
+ ${PDNS_CONFIG} \
+ --daemon=no \
+ --guardian=no \
+ --control-console=yes \
+ --loglevel=9 \
+ --log-dns-details=yes \
+ --query-logging=yes
+ eend $?
+}