projects
/
debian
/
amanda
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Imported Upstream version 2.5.2p1
[debian/amanda]
/
server-src
/
amoverview.pl.in
diff --git
a/server-src/amoverview.pl.in
b/server-src/amoverview.pl.in
index 300f7ddd1c2e1ad3790ad890a0f0c7af51b088ff..a6f7bf6793220dfa4acf2eb3161e7973acf75056 100644
(file)
--- a/
server-src/amoverview.pl.in
+++ b/
server-src/amoverview.pl.in
@@
-9,9
+9,13
@@
require 5.001;
use FileHandle;
use Getopt::Long;
use FileHandle;
use Getopt::Long;
+use Text::ParseWords;
use Carp;
use POSIX;
use Carp;
use POSIX;
+delete @ENV{'IFS', 'CDPATH', 'ENV', 'BASH_ENV', 'PATH'};
+$ENV{'PATH'} = "/usr/bin:/usr/sbin:/sbin:/bin";
+
sub Usage {
print STDERR <<END;
Usage: $0 [[-config] CONFIG] [-hostwidth width] [-diskwidth width] [-skipmissed] [-last] [-num0] [-togo0] [-verbose]
sub Usage {
print STDERR <<END;
Usage: $0 [[-config] CONFIG] [-hostwidth width] [-diskwidth width] [-skipmissed] [-last] [-num0] [-togo0] [-verbose]
@@
-100,7
+104,7
@@
my $dlfh = new FileHandle "$amadmin $opt_config disklist|" or
die "$0: error in opening `$amadmin $opt_config disklist' pipe: $!\n";
$/ = "";
while (<$dlfh>) {
die "$0: error in opening `$amadmin $opt_config disklist' pipe: $!\n";
$/ = "";
while (<$dlfh>) {
- ($host, $disk) = m/ host (.*?):.* disk (.*?):/s;
+ ($host, $disk) = m/ host (.*?):.* disk (.*?):
.*strategy (STANDARD|NOFULL|NOINC|HANOI|INCRONLY).*ignore NO
/s;
next unless $host;
$disks{$host}{$disk}++;
}
next unless $host;
$disks{$host}{$disk}++;
}
@@
-124,16
+128,31
@@
while (<$fh>) {
next if /found Amanda directory/;
next if /skipping cruft directory/;
next if /skip-incr/;
next if /found Amanda directory/;
next if /skipping cruft directory/;
next if /skip-incr/;
- ($date, $host, $disk, $level, $tape, $file, $part, $status) = split ' ', $_;
+
+ ($date, $time, $host, $disk, $level, $tape, $file, $part, $status) = shellwords($_);
+
next if $date eq 'date';
next if $date eq 'Warning:';
next if $date eq 'Scanning';
next if $date eq "";
next if $date eq 'date';
next if $date eq 'Warning:';
next if $date eq 'Scanning';
next if $date eq "";
+
+ if($time !~/^\d\d:\d\d:\d\d$/) {
+ $status = $part;
+ $part = $file;
+ $file = $tape;
+ $tape = $level;
+ $level = $disk;
+ $disk = $host;
+ $host = $time;
+ }
+
if ($date =~ /^\d\d\d\d-\d\d-\d\d$/) {
if ($date =~ /^\d\d\d\d-\d\d-\d\d$/) {
- defined($level{$host}{$disk}{$date}) or
- $level{$host}{$disk}{$date} = '';
- $level{$host}{$disk}{$date} .= ($status eq 'OK') ? $level : 'E';
- $dates{$date}++;
+ if(defined $disks{$host}{$disk}) {
+ defined($level{$host}{$disk}{$date}) or
+ $level{$host}{$disk}{$date} = '';
+ $level{$host}{$disk}{$date} .= ($status eq 'OK') ? $level : 'E';
+ $dates{$date}++;
+ }
}
else {
print "bad date $date in $_\n";
}
else {
print "bad date $date in $_\n";