0: #!/usr/bin/perl -w
1:
2: #Use instead of the un-human-readable output from the #bpdbjobs -report -all_columns command.
3: <code>
4: use strict;
5: $ENV{PATH} =
6: '/bin:/usr/bin:/usr/openv/netbackup/bin:/usr/openv/netbackup/bin/admincmd:/usr/openv/volmgr/bin';
7: sub formattime {
8: my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)
9: = localtime(shift);
10: return sprintf('%04d/%02d/%02d %02d:%02d:%02d',
11: $year + 1900, $mon + 1, $mday,
12: $hour, $min, $sec);
13: }sub formathour {
14: my $sec = shift;
15: my $min = $sec / 60; $sec %= 60;
16: my $hour = $min / 60; $min %= 60;
17: return sprintf('%02d:%02d:%02d', $hour, $min, $sec);
18: }my %images;
19: open(BPIMAGELIST, join(' ', "bpimagelist -l", @ARGV, '|'))
20: or die "Can't exec bpimagelist: $@\n";
21: my $image;
22: while (<BPIMAGELIST>) {
23: if (/^IMAGE/) {
24: my ($client, $id, $class, $sched, $started,
25: $elapsed, $kbytes, $files, $keyword) =
26: (split)[1, 5, 6, 10, 13, 14, 18, 19, 31];
27: my $idsuffix = $id;
28: $idsuffix =~ s/.*_//;
29: $image = $images{$id} = {
30: client => $client,
31: id => $idsuffix,
32: class => $class,
33: sched => $sched,
34: started => $started,
35: elapsed => $elapsed,
36: kbytes => $kbytes,
37: files => $files,
38: keyword => $keyword,
39: tapes => {},
40: };
41: } elsif (/^FRAG/) {
42: ++$image->{tapes}{(split)[8]};
43: }}close(BPIMAGELIST);
44: $= = 2 + scalar keys %images;
45: my ($i, $tapes);
46: foreach $i (sort { $a->{started} <=> $b->{started} } values %images) {
47: $tapes = join(' ', sort keys %{$i->{tapes}});
48: write;
49: }format STDOUT_TOP =
50: Client ID Class Schedule Started Elapsed Keyword Kbytes Files Tapes
51: ------------ ---------- ----------- ----------- ------------------- -------- ------------ ------------ -------- --------------------
52: .
53: format STDOUT =
54: @<<<<<<<<<<< @>>>>>>>>> @<<<<<<<<<< @<<<<<<<<<< @<<<<<<<<<<<<<<<<<< @<<<<<<< @<<<<<<<<<<< @>>>>>>>>>>> @>>>>>>> ^<<<<<<<<<<<<<<<<<<<<
55: $i->{client}, $i->{id}, $i->{class}, $i->{sched}, formattime($i->{started}), formathour($i->{elapsed}), $i->{keyword}, $i->{kbytes}, $i->{files}, $tapes
56: ~~ ^<<<<<<<<<<<<<<<<<<<<
57: $tapes
58: </code>
59:
In reply to Netbackups Clean Output by JSchmitz
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |