zone-ls
changeset 17 05132262d212
parent 14 473a1763f095
child 19 2c3bcb280768
equal deleted inserted replaced
16:a31edb6b728c 17:05132262d212
     1 #!/bin/bash
     1 #!/usr/bin/perl
     2 source ./dnstools.conf
       
     3 master_dir=$MASTER_DIR
       
     4 zsklive=$ZSKLIVE
       
     5 ksklive=$KSKLIVE
       
     6 
     2 
     7 printf "%-25s %1s/%1s %3s %7s\n" "Domain" "ZSK" "KSK" "Use" "Sig-End"
     3 use strict;
     8 for zone in $master_dir/*
       
     9 do
       
    10 
     4 
    11 	domain=${zone##/*/}
     5 my $master_dir = "/etc/bind/master";
    12 
     6 chomp (my @domains = `ls $master_dir`);
    13 	test -f $zone/.index.zsk && anzahl_zsk=`wc -l < $zone/.index.zsk` || anzahl_zsk="0"
       
    14 	test -f $zone/.index.ksk && anzahl_ksk=`wc -l < $zone/.index.ksk` || anzahl_ksk="0"
       
    15 
       
    16 	test -f $zone/keycounter && key_counter=`< $zone/keycounter` || key_counter="0"
       
    17 
       
    18 	if [ -f $zone/$domain.signed ]
       
    19 	then
       
    20 		endtime1=`cat $zone/$domain.signed | egrep 'DNSKEY' | egrep '[0-9]{14}' | head -n1 | cut -d" " -f5`
       
    21 		endtime2="${endtime1:6:2}.${endtime1:4:2}.${endtime1:0:4}"
       
    22 
       
    23 	else
       
    24 		endtime2="0"
       
    25 	fi
       
    26 
       
    27 	printf "%-25s %1d/%1d %5d %12s\n" \
       
    28 		"$domain" "$anzahl_zsk" "$anzahl_ksk" "$key_counter" "$endtime2"
       
    29 
     7 
    30 
     8 
    31 done
     9 printf "%-25s %1s/%1s %3s %7s\n", "Domain", "ZSK", "KSK", "Used", "Sig-end";
    32 
    10 
       
    11 foreach (@domains) {
       
    12 	my $domain = $_;
       
    13 	my $info_zsk;
       
    14 	my $info_ksk;
       
    15 	my $info_kc;
       
    16 	my $info_end;
       
    17 	my @temp;
    33 
    18 
       
    19 	#prueft wie viele zsks genutzt werden
       
    20 	open(FILE, "$master_dir/$domain/.index.zsk");
       
    21 	@temp = <FILE>;
       
    22 	close(FILE);
       
    23 	$info_zsk = @temp;
       
    24 
       
    25 	#prueft wie viele ksks genutzt werden
       
    26 	open(FILE, "$master_dir/$domain/.index.ksk");
       
    27 	@temp = <FILE>;
       
    28 	close(FILE);
       
    29 	$info_ksk = @temp;
       
    30 
       
    31 	#prueft wie oft die schluessel zum signieren genutzt wurden
       
    32 	if (-e "$master_dir/$domain/keycounter") {
       
    33 		open(FILE, "$master_dir/$domain/keycounter");
       
    34 		chomp ($info_kc = <FILE>);
       
    35 		close(FILE);
       
    36 	} else {
       
    37 		$info_kc = "-";
       
    38 	}
       
    39 
       
    40 	#prueft das ablaufdatum
       
    41 	if (-e "$master_dir/$domain/$domain.signed") {
       
    42 		open(FILE, "$master_dir/$domain/$domain.signed");
       
    43 		@temp = <FILE>;
       
    44 		close (FILE);
       
    45 
       
    46 		foreach (@temp) {
       
    47 			if (m/RSIG.*SOA.*\s(\d\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)\d+\s\(/i) {
       
    48 			$info_end = "$3.$2.$1 $4:$5";
       
    49 			}	
       
    50 		}
       
    51 
       
    52 	} else {
       
    53 		$info_end = "-";
       
    54 	}
       
    55 	
       
    56 	printf "%-25s %1s/%1s %5s %19s\n", $domain, $info_zsk, $info_ksk, $info_kc, $info_end;
       
    57 }
       
    58