tbrehm
2010-10-25 2b54b27ccad47a74b78eeadfabcb20a9d1a2cc33
helper_scripts/dns_export_to_bind.php
@@ -1,6 +1,6 @@
<?php
$host="IP-Adresse-ISP-CONFIG-Master-Server";
$user="MYSQL-USER";
$host="IP_ADDRESS";
$user="USERNAME";
$password="PASSWORD";
mysql_connect($host,$user,$password) or die(mysql_error());
mysql_select_db("dbispconfig");
@@ -17,14 +17,27 @@
               }
       }
$serialsearch=date("Ymd");
$resultx12 = mysql_query("SELECT origin,serial FROM dns_soa WHERE serial LIKE '$serialsearch%' ORDER BY origin ASC;");
while ($rowx12=mysql_fetch_array($resultx12)) {
        $zone=substr($rowx12["origin"],0,-1);
        $filename_x1="/var/cache/bind/".$zone;
        if (file_exists($filename_x1)) {
        $serialvergleich[$zone]=exec("grep \";Serial\" /var/cache/bind/$zone |cut -d\" \" -f1 | awk '{print $1}'");
 }
}
while($row = mysql_fetch_array($result))
       {
### Hier ALLES Aktivieren bei Primary Nameserver ########################################################################################
### Hier ALLES Aktivieren bei Primary Nameserver TEIL 1 #################################################################################
       $varx11=substr($row["origin"],0,-1);
        $filename="/var/cache/bind/".$varx11;
        if (file_exists($filename)) {
       unlink("/var/cache/bind/$varx11");
        }
       $arr1[$x11]="zone \"$varx11\" in { type master; file \"$varx11\"; };\n";
       $x11=$x11+1;
       $result2 = mysql_query("select name,type,aux,data from dns_rr where zone=$row[id] ORDER BY name ASC;");
        $result2 = mysql_query("select name,type,aux,data from dns_rr where zone=$row[id] and active='Y' ORDER BY name ASC;");
       $arr3[0]="\$TTL ".$row['ttl']."\n@ IN SOA ".$row['ns']." ".$row['mbox']." (\n           ".$row['serial']." ;Serial\n"."         ".$row['refresh']." ;Refresh\n"."               ".$row['retry']." ;Retry\n"."           ".$row['expire']." ;Expire\n"."         ".$row['minimum']." ) ;Minimum\n\n";
               $xx1=1;
@@ -47,17 +60,23 @@
       fclose($f);
       $arr2=array();
       $arr3=array();
### ENDE Primärer Nameserver ###########################################################################################################
### ENDE Primärer Nameserver TEIL 2 #####################################################################################################
### Hier ALLES Aktivieren bei Secondary Nameserver ######################################################################################
#       $tmp1 = substr($row["ns"],0,-1);
#       $tmp2 = substr($row["origin"],0,-1);
#       $nsip = hostname2ipfunktion($tmp1);
#               if ($nsip == $tmp1) #               {
#       if (!isset($dnscache[$tmp1])) $nsip = hostname2ipfunktion($tmp1) ;
#       else $nsip=$dnscache[$tmp1] ;
#               if ($nsip == $tmp1)
#               {
#               echo "$tmp2 $tmp1 Not a valid Nameserver";
#               echo "\n";
#               }
#               else #               {
#               else
#               {
#               $dnscache[$tmp1]=$nsip;
#               $arr1[$x11]="zone \"".$tmp2."\" in { type slave; file \"".$tmp2."\"; masters {".$nsip."; }; };\n";
#               $x11=$x11+1;
#               }
@@ -68,5 +87,18 @@
$fx = fopen("/etc/bind/named.conf.local", "a+");
foreach($arr1 as $values) fputs($fx, $values);
fclose($fx);
exec("/etc/init.d/bind9 reload");
system("rndc reconfig >/dev/null 2>&1");
### ANFANG Primärer Namerserver TEIL 2 ##################################################################################################
$serialsearch=date("Ymd");
$resultx13 = mysql_query("SELECT origin,serial FROM dns_soa WHERE serial LIKE '$serialsearch%' ORDER BY origin ASC;");
while ($rowx13=mysql_fetch_array($resultx13)) {
        $serial_ist=($rowx13["serial"]);
        $zone=substr($rowx13["origin"],0,-1);
#       echo "zone: ".$zone." ist: ".$serial_ist." vergleich: ".$serialvergleich[$zone]."\n";
        if ($serialvergleich[$zone] != $serial_ist) {
        $reload=system("rndc reload $zone >/dev/null 2>&1");
        }
}
### ENDE Primärer NamerserverTEIL 2 ######################################################################################################
?>