8 'Mailsrv1_Wed' 9 HASH(0x85da80) 'class' => 'Mailsrv1_Wed' 'classtype' => 0 'client' => 'mailsrv1' 'compression' => 1 'elapsed' => 0000007201 'ended' => 1023811336 'filelistcount' => 1 'files' => '/opt/netscape/mailbox1H' 'fileslastwritten' => 0 'group' => 'other' 'jobid' => 216975 'jobpid' => 20553 'jobtype' => 'immediate' 'kbytes' => 1155537 'kbyteslastwritten' => 0 'masterserver' => 'netbackup1' 'operation' => '' 'owner' => 'root' 'path' => '' 'percent' => '' 'priority' => 0 'retentionperiod' => 1 'retentionunits' => 3 'schedule' => 'Mailsrv_Inc' 'schedule_type' => 1 'server' => 'netbackup1' 'started' => 1023804135 'state' => 'done' 'status' => 0 #### $key = "class_name" $list_1 = "list_of_successful_jobIDs" $val1 = "12345", $val2 = "65432".....(and so on) $list_2 = "list_of_failed_jobIDs" $val = "98765", $val2 = "34567".....{and so on) $list_3 = "list_of_part_success_jobIDs" $val = "121212", $val2 = "393939".....{and so on) #### use strict; use NBUX; my $newkey; my %jobs = bpdbjobs(); my %jobsClassKey; my %classClient; my %masterClassHash; my (@successfuljobs, @partiallysuccessful,@failedjobs); ## populate 2nd hash with class as key foreach my $key (keys %jobs) { $newkey = $jobs{$key}->{class}; $jobsClassKey{$newkey} = $jobs{$key}; } foreach my $class (sort keys %jobsClassKey) { my $jobid = $jobsClassKey{$class}->{jobid}; my $status = $jobsClassKey{$class}->{status}; push @{$masterClassHash{$class}{$successfuljobs}} , $jobid if ($status == 0); push @{$masterClassHash{$class}{$partiallysuccessful}} , $jobid if ($status == 1); push @{$masterClassHash{$class}{$failedjobs}} , $jobid if (($status > 1) && \ ($status != 150)); # Termination requested by admin } #### # Partially successful if ($#partiallysuccessful > 0) { print <

$#partiallysuccessful partial successfuly jobs

Class Hostname Job-ID Schedule Status Server Files Tries Start End Duration Mbytes Speed EOC foreach $jobid ( sort @partiallysuccessful ) { my $thisjob = $alljobs { $jobid }; my $MB = $thisjob->{kbytes} / 1000; &print_report_line($thisjob->{class}, $thisjob->{client}, $thisjob->{jobid}, $thisjob->{schedule}, $thisjob->{status}, $thisjob->{server}, $thisjob->{files}, $thisjob->{trycount}, &format_hhmmss_time($thisjob->{started}), &format_hhmmss_time($thisjob->{ended}), $thisjob->{elapsed}, #&beautify_number($thisjob->{kbytes}), &round($MB), ($thisjob->{elapsed} > 0 ? int(($thisjob->{kbytes}/$thisjob->{elapsed})*100)/100 : "0.00")); }