Skip to content

Commit 2b54b27

Browse files
committed
Updated some Helper scripts.
1 parent fb3a98c commit 2b54b27

File tree

2 files changed

+90
-44
lines changed

2 files changed

+90
-44
lines changed
Lines changed: 76 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,104 @@
11
<?php
2-
$host="IP-Adresse-ISP-CONFIG-Master-Server";
3-
$user="MYSQL-USER";
2+
$host="IP_ADDRESS";
3+
$user="USERNAME";
44
$password="PASSWORD";
55
mysql_connect($host,$user,$password) or die(mysql_error());
66
mysql_select_db("dbispconfig");
77
$result = "";
88
$result = mysql_query("SELECT id,origin,ns,ttl,mbox,serial,refresh,retry,expire,minimum FROM dns_soa;");
99
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-
}
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+
$serialsearch=date("Ymd");
21+
$resultx12 = mysql_query("SELECT origin,serial FROM dns_soa WHERE serial LIKE '$serialsearch%' ORDER BY origin ASC;");
22+
while ($rowx12=mysql_fetch_array($resultx12)) {
23+
$zone=substr($rowx12["origin"],0,-1);
24+
$filename_x1="/var/cache/bind/".$zone;
25+
if (file_exists($filename_x1)) {
26+
$serialvergleich[$zone]=exec("grep \";Serial\" /var/cache/bind/$zone |cut -d\" \" -f1 | awk '{print $1}'");
27+
}
28+
}
1929

2030
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";
31+
{
32+
### Hier ALLES Aktivieren bei Primary Nameserver TEIL 1 #################################################################################
33+
$varx11=substr($row["origin"],0,-1);
34+
$filename="/var/cache/bind/".$varx11;
35+
if (file_exists($filename)) {
36+
unlink("/var/cache/bind/$varx11");
37+
}
38+
$arr1[$x11]="zone \"$varx11\" in { type master; file \"$varx11\"; };\n";
39+
$x11=$x11+1;
40+
$result2 = mysql_query("select name,type,aux,data from dns_rr where zone=$row[id] and active='Y' ORDER BY name ASC;");
41+
$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";
2942

30-
$xx1=1;
31-
while($row2 = mysql_fetch_row($result2))
32-
{
33-
$arr2[$xx1]=$row2['0']." IN ".$row2['1']." ";
43+
$xx1=1;
44+
while($row2 = mysql_fetch_row($result2))
45+
{
46+
$arr2[$xx1]=$row2['0']." IN ".$row2['1']." ";
3447

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 ###########################################################################################################
48+
if ($row2['2']>0)
49+
{
50+
$arr3[$xx1]=$arr2[$xx1].$row2['2']." ".$row2['3']."\n";
51+
}
52+
else
53+
{
54+
$arr3[$xx1]=$arr2[$xx1].$row2['3']."\n";
55+
}
56+
$xx1=$xx1+1;
57+
}
58+
$f = fopen("/var/cache/bind/$varx11", "a+");
59+
foreach($arr3 as $values) fputs($f, $values);
60+
fclose($f);
61+
$arr2=array();
62+
$arr3=array();
63+
### ENDE Primärer Nameserver TEIL 2 #####################################################################################################
5164

5265
### Hier ALLES Aktivieren bei Secondary Nameserver ######################################################################################
5366
# $tmp1 = substr($row["ns"],0,-1);
5467
# $tmp2 = substr($row["origin"],0,-1);
55-
# $nsip = hostname2ipfunktion($tmp1);
56-
# if ($nsip == $tmp1) # {
68+
69+
# if (!isset($dnscache[$tmp1])) $nsip = hostname2ipfunktion($tmp1) ;
70+
# else $nsip=$dnscache[$tmp1] ;
71+
72+
# if ($nsip == $tmp1)
73+
# {
5774
# echo "$tmp2 $tmp1 Not a valid Nameserver";
5875
# echo "\n";
5976
# }
60-
# else # {
77+
# else
78+
# {
79+
# $dnscache[$tmp1]=$nsip;
6180
# $arr1[$x11]="zone \"".$tmp2."\" in { type slave; file \"".$tmp2."\"; masters {".$nsip."; }; };\n";
6281
# $x11=$x11+1;
6382
# }
6483
### ENDE Secondary Nameserver ###########################################################################################################
65-
}
84+
}
6685

6786
unlink ("/etc/bind/named.conf.local");
6887
$fx = fopen("/etc/bind/named.conf.local", "a+");
6988
foreach($arr1 as $values) fputs($fx, $values);
7089
fclose($fx);
71-
exec("/etc/init.d/bind9 reload");
90+
system("rndc reconfig >/dev/null 2>&1");
91+
92+
### ANFANG Primärer Namerserver TEIL 2 ##################################################################################################
93+
$serialsearch=date("Ymd");
94+
$resultx13 = mysql_query("SELECT origin,serial FROM dns_soa WHERE serial LIKE '$serialsearch%' ORDER BY origin ASC;");
95+
while ($rowx13=mysql_fetch_array($resultx13)) {
96+
$serial_ist=($rowx13["serial"]);
97+
$zone=substr($rowx13["origin"],0,-1);
98+
# echo "zone: ".$zone." ist: ".$serial_ist." vergleich: ".$serialvergleich[$zone]."\n";
99+
if ($serialvergleich[$zone] != $serial_ist) {
100+
$reload=system("rndc reload $zone >/dev/null 2>&1");
101+
}
102+
}
103+
### ENDE Primärer NamerserverTEIL 2 ######################################################################################################
72104
?>
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?php
2+
$host="IP_ADDRESS";
3+
$user="USERNAME";
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 origin FROM dns_soa ORDER BY origin ASC;");
9+
while($row = mysql_fetch_array($result))
10+
{
11+
$zone=substr($row["origin"],0,-1);
12+
system("rndc retransfer ".$zone);
13+
}
14+
?>

0 commit comments

Comments
 (0)