Skip to content

Commit 3450d11

Browse files
committed
Updated DNS export script.
1 parent 8706977 commit 3450d11

File tree

1 file changed

+71
-102
lines changed

1 file changed

+71
-102
lines changed
Lines changed: 71 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -1,103 +1,72 @@
1-
<?php
2-
$host="IP-ADRESS";
3-
$user="root";
4-
$password="PASSWORD";
5-
mysql_connect($host,$user,$password) or die(mysql_error());
6-
mysql_select_db("dbispconfig");
7-
$result = "";
8-
$result = mysql_query("SELECT id,origin,ns,ttl,mbox,serial,refresh,retry,expire,minimum FROM dns_soa;");
9-
exec ("rm -f /etc/bind/named.conf.local");
10-
11-
$fx = fopen("/etc/bind/named.conf.local", "a+");
12-
13-
function hostname2ipfunktion($tmp1, $timeout = -1) {
14-
if ($tmp1 == 0) {
15-
$query = `nslookup -timeout=$timeout -retry=0 $tmp1`;
16-
if(preg_match('/\nAddress: (.*)\n/', $query, $matches))
17-
return trim($matches[1]);
18-
return $tmp1;
19-
}
20-
}
21-
22-
while($row = mysql_fetch_array($result))
23-
{
24-
### Hier ALLES Aktivieren bei Primary Nameserver ########################################################################################
25-
$tmp1 = substr($row["origin"],0,-1);
26-
fwrite($fx,"zone \"");
27-
fwrite($fx,substr($row["origin"],0,-1));
28-
fwrite($fx,"\" in { type master; file \"");
29-
fwrite($fx,substr($row["origin"],0,-1));
30-
fwrite($fx,"\"; };\n");
31-
$result2 = mysql_query("select name,type,aux,data from dns_rr where zone=$row[id] ORDER BY name ASC;");
32-
exec("rm -f /var/cache/bind/$tmp1");
33-
$f = fopen("/var/cache/bind/$tmp1", "a+");
34-
fwrite($f,"\$TTL ");
35-
fwrite($f,$row['ttl']);
36-
fwrite($f,"\n");
37-
fwrite($f,"@ IN SOA ");
38-
fwrite($f,$row['ns']);
39-
fwrite($f," ");
40-
fwrite($f,$row['mbox']);
41-
fwrite($f," (");
42-
fwrite($f,"\n");
43-
fwrite($f," ");
44-
fwrite($f,$row['serial']);
45-
fwrite($f," ;Serial");
46-
fwrite($f,"\n");
47-
fwrite($f," ");
48-
fwrite($f,$row['refresh']);
49-
fwrite($f," ;Refresh");
50-
fwrite($f,"\n");
51-
fwrite($f," ");
52-
fwrite($f,$row['retry']);
53-
fwrite($f," ;Retry");
54-
fwrite($f,"\n");
55-
fwrite($f," ");
56-
fwrite($f,$row['expire']);
57-
fwrite($f," ;Expire");
58-
fwrite($f,"\n");
59-
fwrite($f," ");
60-
fwrite($f,$row['minimum']);
61-
fwrite($f," )");
62-
fwrite($f," ;Minimum");
63-
fwrite($f,"\n");
64-
fwrite($f,"\n");
65-
while($row2 = mysql_fetch_row($result2))
66-
{
67-
fwrite($f,$row2['0']);
68-
fwrite($f," IN ");
69-
fwrite($f,$row2['1']);
70-
fwrite($f," ");
71-
if ($row2['2']>0)
72-
{
73-
fwrite($f,$row2['2']);
74-
fwrite($f," ");
75-
}
76-
fwrite($f,$row2['3']);
77-
fwrite($f,"\n");
78-
}
79-
fclose($f);
80-
### ENDE Primärer Namerserver ###########################################################################################################
81-
82-
### Hier ALLES Aktivieren bei Secondary Nameserver ######################################################################################
83-
#$tmp1 = substr($row["ns"],0,-1);
84-
#$tmp2 = substr($row["origin"],0,-1);
85-
#$nsip = hostname2ipfunktion($tmp1);
86-
#if ($nsip == $tmp1) {
87-
#echo "$tmp2 $tmp1 Not a valid Nameserver";
88-
#echo "\n";
89-
#}
90-
#else {
91-
#fwrite($fx,"zone \"");
92-
#fwrite($fx,substr($row["origin"],0,-1));
93-
#fwrite($fx,"\" in { type slave; file \"");
94-
#fwrite($fx,substr($row["origin"],0,-1));
95-
#fwrite($fx,"\"; masters {");
96-
#fwrite($fx,"$nsip; }; };");
97-
#fwrite($fx,"\n");
98-
#}
99-
### ENDE Secondary Nameserver ###########################################################################################################
100-
}
101-
fclose($fx);
102-
exec("/etc/init.d/bind9 reload");
1+
<?php
2+
$host="IP-Adresse-ISP-CONFIG-Master-Server";
3+
$user="MYSQL-USER";
4+
$password="PASSWORD";
5+
mysql_connect($host,$user,$password) or die(mysql_error());
6+
mysql_select_db("dbispconfig");
7+
$result = "";
8+
$result = mysql_query("SELECT id,origin,ns,ttl,mbox,serial,refresh,retry,expire,minimum FROM dns_soa;");
9+
function hostname2ipfunktion($tmp1, $timeout = 1)
10+
{
11+
if ($tmp1 == 0)
12+
{
13+
$query = `nslookup -timeout=$timeout -retry=0 $tmp1`;
14+
if(preg_match('/\nAddress: (.*)\n/', $query, $matches))
15+
return trim($matches[1]);
16+
return $tmp1;
17+
}
18+
}
19+
20+
while($row = mysql_fetch_array($result))
21+
{
22+
### Hier ALLES Aktivieren bei Primary Nameserver ########################################################################################
23+
$varx11=substr($row["origin"],0,-1);
24+
unlink("/var/cache/bind/$varx11");
25+
$arr1[$x11]="zone \"$varx11\" in { type master; file \"$varx11\"; };\n";
26+
$x11=$x11+1;
27+
$result2 = mysql_query("select name,type,aux,data from dns_rr where zone=$row[id] ORDER BY name ASC;");
28+
$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";
29+
30+
$xx1=1;
31+
while($row2 = mysql_fetch_row($result2))
32+
{
33+
$arr2[$xx1]=$row2['0']." IN ".$row2['1']." ";
34+
35+
if ($row2['2']>0)
36+
{
37+
$arr3[$xx1]=$arr2[$xx1].$row2['2']." ".$row2['3']."\n";
38+
}
39+
else
40+
{
41+
$arr3[$xx1]=$arr2[$xx1].$row2['3']."\n";
42+
}
43+
$xx1=$xx1+1;
44+
}
45+
$f = fopen("/var/cache/bind/$varx11", "a+");
46+
foreach($arr3 as $values) fputs($f, $values);
47+
fclose($f);
48+
$arr2=array();
49+
$arr3=array();
50+
### ENDE Primärer Nameserver ###########################################################################################################
51+
52+
### Hier ALLES Aktivieren bei Secondary Nameserver ######################################################################################
53+
# $tmp1 = substr($row["ns"],0,-1);
54+
# $tmp2 = substr($row["origin"],0,-1);
55+
# $nsip = hostname2ipfunktion($tmp1);
56+
# if ($nsip == $tmp1) # {
57+
# echo "$tmp2 $tmp1 Not a valid Nameserver";
58+
# echo "\n";
59+
# }
60+
# else # {
61+
# $arr1[$x11]="zone \"".$tmp2."\" in { type slave; file \"".$tmp2."\"; masters {".$nsip."; }; };\n";
62+
# $x11=$x11+1;
63+
# }
64+
### ENDE Secondary Nameserver ###########################################################################################################
65+
}
66+
67+
unlink ("/etc/bind/named.conf.local");
68+
$fx = fopen("/etc/bind/named.conf.local", "a+");
69+
foreach($arr1 as $values) fputs($fx, $values);
70+
fclose($fx);
71+
exec("/etc/init.d/bind9 reload");
10372
?>

0 commit comments

Comments
 (0)