|
Server : Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/1.0.0-fips mod_auth_passthrough/2.1 mod_bwlimited/1.4 System : Linux server.jackjohnson.com 2.6.32-279.5.2.el6.x86_64 #1 SMP Fri Aug 24 01:07:11 UTC 2012 x86_64 User : jackjohn ( 502) PHP Version : 5.3.17 Disable Function : NONE Directory : /scripts/ |
Upload File : |
#!/usr/local/cpanel/3rdparty/bin/perl
# cpanel4 - scripts Copyright(c) 1997-2011 cPanel, Inc..
# All rights Reserved.
# copyright@cpanel.net http://cpanel.net
# This code is subject to the cpanel license. Unauthorized copying is prohibited
print "Rebuilding DNS Zones List from master server .....\n";
my $dnsmaster;
open( CONF, "/etc/wwwacct.conf" ) || die "/etc/wwwacct.conf not found\n";
while (<CONF>) {
$_ =~ s/\n//g;
if ( $_ !~ /^;/ ) {
if ( $_ =~ /DNSMASTER/ ) {
$dnsmaster = ( split / /, $_ )[1];
}
}
}
close(CONF);
if ( $dnsmaster eq "" || $dnsmaster eq "none" ) {
print "Sorry no dns master was defined\n";
exit;
}
system("cp -f /etc/named.conf /etc/named.conf.pretransfer");
system("scp -o \"Protocol 1,2\" $dnsmaster:/etc/named.conf /etc/named.conf.dnstransfer");
my (
$dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size,
$atime, $mtime, $ctime, $blksize, $blocks
) = stat("/etc/named.conf.dnstransfer");
if ( $size < 10 ) {
print "Scp failed!\n";
exit;
}
open( RNC, ">/etc/named.conf" );
open( NC, "/etc/named.conf.pretransfer" );
while (<NC>) {
if (/zone \"/) {
last;
}
print RNC;
}
close(NC);
open( NC, "/etc/named.conf.dnstransfer" );
my $inzones = 0;
while (<NC>) {
if (/zone \"/) {
$inzones = 1;
}
if ($inzones) {
print RNC;
}
}
close(NC);
close(RNC);
system("/usr/local/cpanel/scripts/makesecondary");
print "Rebuild Complete\n";