my $machine = $export->machine;
my $prefix = "$spooldir/$machine";
+ my $bind_rel = $export->option('bind_release');
+ my $ndc_cmd = $export->option('reload')
+ || ( ($bind_rel eq 'BIND9') ? 'rndc' : 'ndc' );
+ my $minttl = $export->option('bind9_minttl');
+
#prevent old domain files from piling up
#rmtree "$prefix" or die "can't rmtree $prefix.db: $!";
open(NAMED_CONF,">$prefix/named.conf")
or die "can't open $prefix/named.conf: $!";
- open(CONF_HEADER,"<$prefix/named.conf.HEADER")
- or die "can't open $prefix/named.conf.HEADER: $!";
- while (<CONF_HEADER>) { print NAMED_CONF $_; }
- close CONF_HEADER;
+ if ( -e "$prefix/named.conf.HEADER" ) {
+ open(CONF_HEADER,"<$prefix/named.conf.HEADER")
+ or die "can't open $prefix/named.conf.HEADER: $!";
+ while (<CONF_HEADER>) { print NAMED_CONF $_; }
+ close CONF_HEADER;
+ }
my $zonepath = $export->option('zonepath');
$zonepath =~ s/\/$//;
};
END
+ unlink "$prefix/db.$domain" if -e "$prefix/db.$domain";
} else {
open (DB_MASTER,">$prefix/db.$domain")
or die "can't open $prefix/db.$domain: $!";
+ if ($bind_rel eq 'BIND9') {
+ print DB_MASTER "\$TTL $minttl\n\$ORIGIN $domain.\n";
+ }
+
my @domain_records =
qsearch('domain_record', { 'svcnum' => $svc_domain->svcnum } );
foreach my $domain_record (
} ) or die "rsync to $machine failed: ". join(" / ", $rsync->err);
# warn $rsync->out;
- ssh("root\@$machine", 'ndc reload');
+ ssh("root\@$machine", "$ndc_cmd reload");
}
my $machine = $sexport->machine;
my $prefix = "$spooldir/$machine";
+ my $bind_rel = $sexport->option('bind_release');
+ my $ndc_cmd = ($bind_rel eq 'BIND9') ? 'rndc' : 'ndc';
+
#prevent old domain files from piling up
#rmtree "$prefix" or die "can't rmtree $prefix.db: $!";
open(NAMED_CONF,">$prefix/named.conf")
or die "can't open $prefix/named.conf: $!";
- open(CONF_HEADER,"<$prefix/named.conf.HEADER")
- or die "can't open $prefix/named.conf.HEADER: $!";
- while (<CONF_HEADER>) { print NAMED_CONF $_; }
- close CONF_HEADER;
+ if ( -e "$prefix/named.conf.HEADER" ) {
+ open(CONF_HEADER,"<$prefix/named.conf.HEADER")
+ or die "can't open $prefix/named.conf.HEADER: $!";
+ while (<CONF_HEADER>) { print NAMED_CONF $_; }
+ close CONF_HEADER;
+ }
my $masters = $sexport->option('master');
} ) or die "rsync to $machine failed: ". join(" / ", $rsync->err);
# warn $rsync->out;
- ssh("root\@$machine", 'ndc reload');
+ ssh("root\@$machine", "$ndc_cmd reload");
}
close NAMED_CONF;