X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=server-src%2Famoverview.pl.in;h=25f1e07c888d89da0a77957c88c59d12114daf5e;hb=2df780bff19c457b0debb7adc29972a0bc2a5dc2;hp=dc303d17474331149e94d8e790307c21329047c7;hpb=0de2ad0a86685398621fb8ffa6990c029681bb3a;p=debian%2Famanda diff --git a/server-src/amoverview.pl.in b/server-src/amoverview.pl.in index dc303d1..25f1e07 100644 --- a/server-src/amoverview.pl.in +++ b/server-src/amoverview.pl.in @@ -14,7 +14,7 @@ use POSIX; sub Usage { print STDERR < \$opt_config, 'hostwidth=i' => \$opt_hostwidth, 'diskwidth=i' => \$opt_diskwidth, 'skipmissed' => \$opt_skipmissed, + 'last' => \$opt_last, + 'num0' => \$opt_num0, + 'togo0' => \$opt_togo0, 'verbose' => \$opt_verbose) or Usage(); @@ -128,19 +134,51 @@ $fh->close or die "$0: error in closing `$amadmin $opt_config find|' pipe: $!\n"; # Process the status to arrive at a "last" status -for $host (sort keys %disks) { - for $disk (sort keys %{$disks{$host}}) { - $level{$host}{$disk}{"0000-LA-ST"} = ''; - for $date (sort keys %dates) { - if ($level{$host}{$disk}{$date} eq "E" - && $level{$host}{$disk}{"0000-LA-ST"} =~ /^\d/ ) { - $level{$host}{$disk}{"0000-LA-ST"} .= $level{$host}{$disk}{$date}; - } elsif ($level{$host}{$disk}{$date} eq "") { - $level{$host}{$disk}{"0000-LA-ST"} =~ s/E//; - } else { - $level{$host}{$disk}{"0000-LA-ST"} = $level{$host}{$disk}{$date}; +if ($opt_last) { + for $host (sort keys %disks) { + for $disk (sort keys %{$disks{$host}}) { + $level{$host}{$disk}{"0000-LA-ST"} = ''; + for $date (sort keys %dates) { + if ($level{$host}{$disk}{$date} eq "E" + && $level{$host}{$disk}{"0000-LA-ST"} =~ /^\d/ ) { + $level{$host}{$disk}{"0000-LA-ST"} .= $level{$host}{$disk}{$date}; + } elsif ($level{$host}{$disk}{$date} eq "") { + $level{$host}{$disk}{"0000-LA-ST"} =~ s/E//; + } else { + $level{$host}{$disk}{"0000-LA-ST"} = $level{$host}{$disk}{$date}; + } } - } + } + } +} + +# Number of level 0 backups +if ($opt_num0) { + for $host (sort keys %disks) { + for $disk (sort keys %{$disks{$host}}) { + $level{$host}{$disk}{'0000-NM-L0'} = 0; + for $date (sort keys %dates) { + if ($level{$host}{$disk}{$date} =~ /0/) { + $level{$host}{$disk}{'0000-NM-L0'} += 1; + } + } + } + } +} + +# Runs to the last level 0 +if ($opt_togo0) { + for $host (sort keys %disks) { + for $disk (sort keys %{$disks{$host}}) { + $level{$host}{$disk}{'0000-TO-GO'} = 0; + my $togo=0; + for $date (sort keys %dates) { + if ($level{$host}{$disk}{$date} =~ /0/) { + $level{$host}{$disk}{'0000-TO-GO'} = $togo; + } + $togo++; + } + } } } @@ -161,7 +199,13 @@ unless ($opt_skipmissed) } #Add the "last" entry -$dates{"0000-LA-ST"}=1; +$dates{"0000-LA-ST"}=1 if ($opt_last); + +#Add the "Number of Level 0s" entry +$dates{"0000-NM-L0"}=1 if ($opt_num0); + +#Add the "Runs to go" entry +$dates{"0000-TO-GO"}=1 if ($opt_togo0); # make formats