summaryrefslogtreecommitdiff
path: root/scripts/nameserver_autogen/bind_tld_zonefile.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/nameserver_autogen/bind_tld_zonefile.sh')
-rwxr-xr-xscripts/nameserver_autogen/bind_tld_zonefile.sh35
1 files changed, 35 insertions, 0 deletions
diff --git a/scripts/nameserver_autogen/bind_tld_zonefile.sh b/scripts/nameserver_autogen/bind_tld_zonefile.sh
new file mode 100755
index 0000000..72c1128
--- /dev/null
+++ b/scripts/nameserver_autogen/bind_tld_zonefile.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+#made for bash. not sure if all /bin/sh work.
+#be sure to edit these variables first.
+
+ANO_ZONEFILE=/etc/namedb/ano
+RESDB_PATH=/services/resdb/resdb
+
+echo "; this zonefile genreated on: `date`" > $ANO_ZONEFILE
+echo '$TTL 3600' >> $ANO_ZONEFILE
+echo '@ IN SOA localns root ('`date +" %Y%m%d00"`' 60 300 3600000 3600 )' >> $ANO_ZONEFILE
+echo '@ IN NS localns' >> $ANO_ZONEFILE
+echo 'localns IN A 127.0.0.1' >> $ANO_ZONEFILE
+
+cd ${RESDB_PATH}/db/dom/ano
+
+echo -n generating zonefile...
+for name in *;do
+ if [ -e "${name}/ns/" ];then
+ for server in "$name"/ns/*;do
+ if grep '\.ano$' <<< $name > /dev/null;then
+ true
+ fi
+ if grep '\.ano$' <<< $server > /dev/null;then
+ true
+ fi
+ fqserver=`cut -d/ -f3- <<< $server`
+ echo -e "${name}\tIN NS\t${fqserver}."
+ for ip in `cat ${server}`;do
+ echo -e "${fqserver}.\tIN A\t$ip"
+ done
+ done
+ fi
+done >> $ANO_ZONEFILE
+echo done.
+echo might want to send a sighup to your named now.