also ignore trash and zones
[public/microdnssec.git] / update-zone-conf.sh
index 5716c8d187918d4127f16eef0d28ecb9e38082f0..d8e58d10d4b7198f80bd443950dc11ebc0037bd5 100755 (executable)
@@ -1,12 +1,18 @@
 #!/bin/bash
+# microdnssec, (c) Svenne Krap (svenne@krap.dk), 2010
+# released under 2-clause BSD-license
 source `dirname $0`/conf/settings
 cd `dirname $0`
 
-rm -f zones/zone.conf
+rm -f zones/$zoneconf_name
 
+echo "Generating new $zoneconf_name"
 for d in zones/* ; do 
+    if [ ! -d $d ] ; then continue ; fi
     zone=`basename $d` 
-cat >> zones/zone.conf <<EOF 
+    if [ ! -f $d/$zone.zone.signed ] ; then continue ; fi
+    echo " ... found $zone"
+cat >> zones/$zoneconf_name <<EOF 
 zone "$zone." in {
         type master;
         file "$zone.zone.signed";
@@ -19,11 +25,11 @@ done
 for i in `seq $num_nameservers`  ; do 
     ns=ns$i
 
-    echo "running $ns"
+    echo "updating $ns"
     eval ssh_access=\$${ns}_ssh_access
     eval conf_path=\$${ns}_conf_path
     eval rndc_path=\$${ns}_rndc_path
 
-    scp zones/zone.conf $ssh_access:$conf_path
+    scp zones/$zoneconf_name $ssh_access:$conf_path
     ssh $ssh_access  "$rndc_path reload"
 done