zone-ls
changeset 21 6715f8f9d04c
parent 19 2c3bcb280768
child 22 7229d1c95ea8
equal deleted inserted replaced
20:5b52190d8750 21:6715f8f9d04c
     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 $master_dir = "/etc/bind/master";
     6 chomp (my @domains = `ls $master_dir`);
       
     7 
       
     8 
     6 
     9 printf "%-25s %1s/%1s %3s %7s\n", "Domain", "ZSK", "KSK", "Used", "Sig-end";
     7 printf "%-25s %1s/%1s %3s %7s\n", "Domain", "ZSK", "KSK", "Used", "Sig-end";
       
     8 foreach (<$master_dir/*>) {
       
     9 	s#($master_dir/)(.*)#$2#;
       
    10 	my $zone = $_;
    10 
    11 
    11 foreach (@domains) {
       
    12 	my $domain = $_;
       
    13 	my $info_zsk;
    12 	my $info_zsk;
    14 	my $info_ksk;
    13 	my $info_ksk;
    15 	my $info_kc;
    14 	my $info_kc;
    16 	my $info_end;
    15 	my $info_end;
    17 	my @temp;
    16 	my @temp;
    18 
    17 
    19 	#prueft wie viele zsks genutzt werden
    18 	#prueft wie viele zsks genutzt werden
    20 	open(FILE, "$master_dir/$domain/.index.zsk");
    19 	open(FILE, "$master_dir/$zone/.index.zsk");
    21 	@temp = <FILE>;
    20 	@temp = <FILE>;
    22 	close(FILE);
    21 	close(FILE);
    23 	$info_zsk = @temp;
    22 	$info_zsk = @temp;
    24 
    23 
    25 	#prueft wie viele ksks genutzt werden
    24 	#prueft wie viele ksks genutzt werden
    26 	open(FILE, "$master_dir/$domain/.index.ksk");
    25 	open(FILE, "$master_dir/$zone/.index.ksk");
    27 	@temp = <FILE>;
    26 	@temp = <FILE>;
    28 	close(FILE);
    27 	close(FILE);
    29 	$info_ksk = @temp;
    28 	$info_ksk = @temp;
    30 
    29 
    31 	#prueft wie oft die schluessel zum signieren genutzt wurden
    30 	#prueft wie oft die schluessel zum signieren genutzt wurden
    32 	if (-e "$master_dir/$domain/.keycounter") {
    31 	if (-e "$master_dir/$zone/.keycounter") {
    33 		open(FILE, "$master_dir/$domain/.keycounter");
    32 		open(FILE, "$master_dir/$zone/.keycounter");
    34 		chomp ($info_kc = <FILE>);
    33 		chomp ($info_kc = <FILE>);
    35 		close(FILE);
    34 		close(FILE);
    36 	} else {
    35 	} else {
    37 		$info_kc = "-";
    36 		$info_kc = "-";
    38 	}
    37 	}
    39 
    38 
    40 	#prueft das ablaufdatum
    39 	#prueft das ablaufdatum
    41 	if (-e "$master_dir/$domain/$domain.signed") {
    40 	if (-e "$master_dir/$zone/$zone.signed") {
    42 		open(FILE, "$master_dir/$domain/$domain.signed");
    41 		open(FILE, "$master_dir/$zone/$zone.signed");
    43 		@temp = <FILE>;
    42 		@temp = <FILE>;
    44 		close (FILE);
    43 		close (FILE);
    45 
    44 
    46 		foreach (@temp) {
    45 		foreach (@temp) {
    47 			if (m/RSIG.*SOA.*\s(\d\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)\d+\s\(/i) {
    46 			if (m/RSIG.*SOA.*\s(\d\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)\d+\s\(/i) {
    51 
    50 
    52 	} else {
    51 	} else {
    53 		$info_end = "-";
    52 		$info_end = "-";
    54 	}
    53 	}
    55 	
    54 	
    56 	printf "%-25s %1s/%1s %5s %19s\n", $domain, $info_zsk, $info_ksk, $info_kc, $info_end;
    55 	printf "%-25s %1s/%1s %5s %19s\n", $zone, $info_zsk, $info_ksk, $info_kc, $info_end;
    57 }
    56 }
    58 
    57