zone-mk
changeset 43 7e472c559b36
parent 38 d50f6874b7ab
parent 42 2baba9f77020
child 46 de6761ce0d5b
--- a/zone-mk	Fri Dec 03 16:42:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,134 +0,0 @@
-#!/usr/bin/perl -w
-
-use strict;
-use FindBin;
-
-if ( @ARGV < 2 ) {
-    print "usage: zone-mk kundennummer domain ... \n";
-    exit 1;
-}
-
-# oeffnet Konfigurations- und Templatefiles - relativ oder absolut
-my @configs = ( "$FindBin::Bin/dnstools.conf", "/etc/dnstools.conf" );
-my @templc = (
-    "$FindBin::Bin/templates/named.config",
-    "/etc/dnstools/templates/named.config"
-);
-my @templz = (
-    "$FindBin::Bin/templates/named.zone",
-    "/etc/dnstools/templates/named.zone"
-);
-my %config;
-
-for ( grep {-f} @configs ) {
-    open( CONFIG, $_ ) or die "Can't open $_: $!\n";
-}
-unless ( seek( CONFIG, 0, 0 ) ) {
-    die "Can't open config (searched: @configs)\n";
-}
-
-for ( grep {-f} @templc ) {
-    open( TEMPCONF, $_ ) or die "Can't open $_: $!\n";
-}
-unless ( seek( TEMPCONF, 0, 0 ) ) {
-    die "Can't open template (searched: @templc)\n";
-}
-
-for ( grep {-f} @templz ) {
-    open( TEMPZONE, $_ ) or die "Can't open $_: $!\n";
-}
-unless ( seek( TEMPZONE, 0, 0 ) ) {
-    die "Can't open template (searched: @templz)\n";
-}
-
-while (<CONFIG>) {
-    chomp;
-    s/#.*//;
-    s/\t//g;
-    s/\s//g;
-    next unless length;
-    my ( $cname, $ccont ) = split( /\s*=\s*/, $_, 2 );
-    $config{$cname} = $ccont;
-}
-close(CONFIG);
-
-my $primary       = $config{primary};
-my $secondary     = $config{secondary};
-my $zone_conf_dir = $config{zone_conf_dir};
-my $master_dir    = $config{master_dir};
-my $customer      = shift @ARGV;
-chomp( my $primary_ip   = `dig +short $primary` );
-chomp( my $secondary_ip = `dig +short $secondary` );
-chomp( my $this_host    = `hostname -f` );
-chomp( my $this_ip      = `hostname -i` );
-chomp( my $this_domain  = `hostname -d` );
-chomp( my $time         = `date +%Y%m%d00` );
-chomp( my $start        = `date -I` );
-my $hostmaster = "hostmaster.$this_domain";
-
-unless ( -d $master_dir and -r $master_dir ) {
-    die "$master_dir: $!\n";
-}
-
-unless ( -d $zone_conf_dir and -r $zone_conf_dir ) {
-    die "$master_dir: $!\n";
-}
-
-# legt fuer jede domain in @ARGV ein verzeichnis in $master_dir an.
-# schreibt aus den angegebenen templates die dateien $zonefile und $config
-# in die entsprechenden verzeichnisse.
-for (@ARGV) {
-
-    chomp( my $domain = `idn --quiet "$_"` );
-    my $zonefile   = "$master_dir/$domain/$domain";
-    my $config     = "$zone_conf_dir/$domain";
-    my $utf8domain = "$_";
-
-    unless ( -d "$master_dir/$domain" ) {
-        `mkdir $master_dir/$domain`;
-    }
-
-    if ( -f $zonefile ) {
-        $zonefile =~ s#/.*/##;
-        print "$zonefile exists. Skipping $domain\n";
-        next;
-    }
-    if ( -f $config ) {
-        $config =~ s#/.*/##;
-        print "$config exists. Skipping $domain\n";
-        next;
-    }
-
-    print "$domain ($_) for $customer \n";
-
-    my @tempzone = <TEMPZONE>;
-    for (@tempzone) {
-        s#<start>#$start#;
-        s#<domain>#$domain#;
-        s#<time>#$time#;
-        s#<primary>#$primary#;
-        s#<secondary>#$secondary#;
-        s#<hostmaster>#$hostmaster#;
-        s#<customer>#$customer#;
-        s#<utf8domain>#$utf8domain#;
-    }
-
-    open( ZONEOUT, ">$zonefile" );
-    print ZONEOUT @tempzone;
-    close(ZONEOUT);
-
-    my @tempconf = <TEMPCONF>;
-    for (@tempconf) {
-        s#<domain>#$domain#;
-        s#<start>#$start#;
-        s#<customer>#$customer#;
-        s#<utf8domain>#$utf8domain#;
-        s#<file>#$master_dir/$domain/$domain#;
-        s#<primary_ip>#$primary_ip#;
-        s#<secondary_ip>#$secondary_ip#;
-    }
-
-    open( CONFOUT, ">$config" );
-    print CONFOUT @tempconf;
-    close(CONFOUT);
-}