zone-ls
changeset 22 7229d1c95ea8
parent 21 6715f8f9d04c
child 23 9dc00aa49452
equal deleted inserted replaced
21:6715f8f9d04c 22:7229d1c95ea8
     1 #!/usr/bin/perl
     1 #!/usr/bin/perl
     2 
     2 
     3 use strict;
     3 use strict;
     4 
     4 
     5 my $master_dir = "/etc/bind/master";
     5 my %config;
       
     6 open (CONFIG, "dnstools.conf");
       
     7 while (<CONFIG>) {
       
     8         chomp;
       
     9         s/#.*//;
       
    10         s/\t//g;
       
    11         s/\s//g;
       
    12 
       
    13         next unless length;
       
    14         my ($cname, $ccont) = split (/\s*=\s*/, $_,2);
       
    15         $config{$cname} = $ccont;
       
    16 }
       
    17 close (CONFIG);
       
    18 
       
    19 my $master_dir = $config{master_dir};
     6 
    20 
     7 printf "%-25s %1s/%1s %3s %7s\n", "Domain", "ZSK", "KSK", "Used", "Sig-end";
    21 printf "%-25s %1s/%1s %3s %7s\n", "Domain", "ZSK", "KSK", "Used", "Sig-end";
     8 foreach (<$master_dir/*>) {
    22 for (<$master_dir/*>) {
     9 	s#($master_dir/)(.*)#$2#;
    23 	s#($master_dir/)(.*)#$2#;
    10 	my $zone = $_;
    24 	my $zone = $_;
    11 
    25 
    12 	my $info_zsk;
    26 	my $info_zsk;
    13 	my $info_ksk;
    27 	my $info_ksk;
    40 	if (-e "$master_dir/$zone/$zone.signed") {
    54 	if (-e "$master_dir/$zone/$zone.signed") {
    41 		open(FILE, "$master_dir/$zone/$zone.signed");
    55 		open(FILE, "$master_dir/$zone/$zone.signed");
    42 		@temp = <FILE>;
    56 		@temp = <FILE>;
    43 		close (FILE);
    57 		close (FILE);
    44 
    58 
    45 		foreach (@temp) {
    59 		for (@temp) {
    46 			if (m/RSIG.*SOA.*\s(\d\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)\d+\s\(/i) {
    60 			if (m/RSIG.*SOA.*\s(\d\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)\d+\s\(/i) {
    47 			$info_end = "$3.$2.$1 $4:$5";
    61 			$info_end = "$3.$2.$1 $4:$5";
    48 			}	
    62 			}	
    49 		}
    63 		}
    50 
    64