zone-mk.pl
branchhs12
changeset 71 e25fc893e203
parent 41 3c10c45c6a59
child 72 d3d2108f07da
equal deleted inserted replaced
70:bffb3f2cca90 71:e25fc893e203
     1 #!/usr/bin/perl 
     1 #!/usr/bin/perl 
     2 
     2 
     3 use warnings;
     3 use warnings;
     4 use strict;
     4 use strict;
     5 use FindBin;
     5 use FindBin;
       
     6 use my::Config qw(get_config);
       
     7 
       
     8 my %config;
     6 
     9 
     7 if (@ARGV < 2) {
    10 if (@ARGV < 2) {
     8     print "usage: zone-mk kundennummer domain ... \n";
    11     print "usage: zone-mk kundennummer domain ... \n";
     9     exit 1;
    12     exit 1;
    10 }
    13 }
    15     "$FindBin::Bin/templates/named.config",
    18     "$FindBin::Bin/templates/named.config",
    16     "/etc/dnstools/templates/named.config"
    19     "/etc/dnstools/templates/named.config"
    17 );
    20 );
    18 my @templz =
    21 my @templz =
    19   ("$FindBin::Bin/templates/named.zone", "/etc/dnstools/templates/named.zone");
    22   ("$FindBin::Bin/templates/named.zone", "/etc/dnstools/templates/named.zone");
    20 my %config;
       
    21 
       
    22 for (grep { -f } @configs) {
       
    23     open(CONFIG, $_) or die "Can't open $_: $!\n";
       
    24 }
       
    25 unless (seek(CONFIG, 0, 0)) {
       
    26     die "Can't open config (searched: @configs)\n";
       
    27 }
       
    28 
    23 
    29 for (grep { -f } @templc) {
    24 for (grep { -f } @templc) {
    30     open(TEMPCONF, $_) or die "Can't open $_: $!\n";
    25     open(TEMPCONF, $_) or die "Can't open $_: $!\n";
    31 }
    26 }
    32 unless (seek(TEMPCONF, 0, 0)) {
    27 unless (seek(TEMPCONF, 0, 0)) {
    38 }
    33 }
    39 unless (seek(TEMPZONE, 0, 0)) {
    34 unless (seek(TEMPZONE, 0, 0)) {
    40     die "Can't open template (searched: @templz)\n";
    35     die "Can't open template (searched: @templz)\n";
    41 }
    36 }
    42 
    37 
    43 while (<CONFIG>) {
    38 
    44     chomp;
    39 %config = get_config(@configs);
    45     s/#.*//;
       
    46     s/\t//g;
       
    47     s/\s//g;
       
    48     next unless length;
       
    49     my ($cname, $ccont) = split(/\s*=\s*/, $_, 2);
       
    50     $config{$cname} = $ccont;
       
    51 }
       
    52 close(CONFIG);
       
    53 
    40 
    54 my $primary       = $config{primary};
    41 my $primary       = $config{primary};
    55 my $secondary     = $config{secondary};
    42 my $secondary     = $config{secondary};
    56 my $zone_conf_dir = $config{zone_conf_dir};
    43 my $zone_conf_dir = $config{zone_conf_dir};
    57 my $master_dir    = $config{master_dir};
    44 my $master_dir    = $config{master_dir};