diff options
author | ivan <ivan> | 2002-05-22 18:44:01 +0000 |
---|---|---|
committer | ivan <ivan> | 2002-05-22 18:44:01 +0000 |
commit | 23186f0338ec248d930c85db08cc997bca42525b (patch) | |
tree | 0f913dcdf0b10d662baf90947d44cd4ac43584c2 /bin/bind.export | |
parent | a55f1c9e63b5428c55aa75d55ab4a280889be288 (diff) |
bind export, editing zones, deleting unaudited domains, mmm
Diffstat (limited to 'bin/bind.export')
-rwxr-xr-x | bin/bind.export | 38 |
1 files changed, 36 insertions, 2 deletions
diff --git a/bin/bind.export b/bin/bind.export index 8d6f4e339..d49b3cf64 100755 --- a/bin/bind.export +++ b/bin/bind.export @@ -2,6 +2,8 @@ use strict; use File::Path; +use File::Rsync; +use Net::SSH qw(ssh); use FS::UID qw(adminsuidsetup datasrc); use FS::Record qw(qsearch qsearchs); use FS::part_export; @@ -18,9 +20,15 @@ mkdir $spooldir unless -d $spooldir; my @exports = qsearch('part_export', { 'exporttype' => 'bind' } ); my @sexports = qsearch('part_export', { 'exporttype' => 'bind_slave' } ); +my $rsync = File::Rsync->new({ + rsh => 'ssh', +# dry_run => 1, +}); + foreach my $export ( @exports ) { - my $prefix = "$spooldir/". $export->machine; + my $machine = $export->machine; + my $prefix = "$spooldir/$machine"; #prevent old domain files from piling up #rmtree "$prefix" or die "can't rmtree $prefix.db: $!"; @@ -96,12 +104,30 @@ END } + $rsync->exec( { + src => "$prefix/", + recursive => 1, + dest => "root\@$machine:$zonepath/", + exclude => [qw( *.import named.conf.HEADER named.conf )], + } ) or die "rsync to $machine failed: ". join(" / ", $rsync->err); + # warn $rsync->out; + + $rsync->exec( { + src => "$prefix/named.conf", + dest => "root\@$machine:". $export->option('named_conf'), + } ) or die "rsync to $machine failed: ". join(" / ", $rsync->err); +# warn $rsync->out; + + ssh("root\@$machine", 'ndc reload'); + } + close NAMED_CONF; foreach my $sexport ( @sexports ) { #false laziness with above - my $prefix = "$spooldir/". $sexport->machine; + my $machine = $sexport->machine; + my $prefix = "$spooldir/$machine"; #prevent old domain files from piling up #rmtree "$prefix" or die "can't rmtree $prefix.db: $!"; @@ -137,6 +163,14 @@ END } + $rsync->exec( { + src => "$prefix/named.conf", + dest => "root\@$machine:". $sexport->option('named_conf'), + } ) or die "rsync to $machine failed: ". join(" / ", $rsync->err); +# warn $rsync->out; + + ssh("root\@$machine", 'ndc reload'); + } close NAMED_CONF; |