Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Hash to table with multiple attributes

by onelander (Sexton)
on Jul 18, 2013 at 00:04 UTC ( #1044932=perlquestion: print w/ replies, xml ) Need Help??
onelander has asked for the wisdom of the Perl Monks concerning the following question:

I am trying to learn how to turn a hash into a table format.

I realize there are modules that can do this but I am trying to learn how to do it without a module.

The problem is that when a major operation has more than one process the times that the process runs do not end up under the main heading but are being pushed further to the right.

I know the problem has to do with the way I am looping through the hash but I do not know another way to make this work.

I have been thinking that using a format may work but I have not had a chance to test it yet.

#!/usr/bin/perl use strict; use warnings; use Getopt::Long; use Data::Dumper; my $debug = 0; my $q_date = "null"; my $operation; my $process; my $date; my $time; my $row_time; my $op_end_time; my %ops_hash; my @ops_array; GetOptions('d:s' => \$q_date, 'x' => \$debug); my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime; $min = "0" . $min if $min < 10; $hour = "0" . $hour if $hour < 10; $mon += 1; $mon = "0" . $mon if $mon < 10; $year += 1900; if ( $q_date eq "null" ) { $q_date = "$year-$mon-$mday"; } if ( $q_date !~ /\d{4}-\d{2}-\d{2}/ ) { print "Please use a date format of YYYY-MM-DD\n"; exit 1; } my @actlog = <DATA>; print "@actlog" if $debug; foreach my $line ( @actlog ) { next if $line =~ /^$/; chomp ($line); my ($date_time, $message) = split (/,/, $line, 2); ($date, $time) = split (/ /, $date_time); $time =~ s/(\d{2}):\d{2}:\d{2}\.000000/$1/; # save only the hour if ( $time =~ /0(\d)/ ) { $time = $1; # if it is an hour below 10 strip the leading 0 } if ( $message =~ /ANR098[4|5|6|7]I/ ) { $message =~ /Process \d{1,} for ([A-Z ]{1,}|Database Backup)\b +.*PROCESS: (\d{1,})\)/; $operation = $1; $process = $2; $operation =~ s/\s+$//; if ( $message =~ /ANR0984I/ ) { $ops_hash{$date}{"$operation"}{$process}{'start'} = $time; } else { $ops_hash{$date}{"$operation"}{$process}{'end'} = $time; } } } print Dumper(\%ops_hash) if $debug; print "Time,"; foreach my $op ( keys %{ $ops_hash{$q_date} } ) { push (@ops_array, $op); print $op . ","; } print "\n"; for ( 0 .. 23 ) { $row_time = $_; print "$row_time,"; foreach my $op_name ( @ops_array ) { foreach my $op_proc ( keys %{ $ops_hash{$q_date}{$op_name} } ) + { my $op_start_time = $ops_hash{$q_date}{$op_name}{$op_proc} +{'start'}; if ( ! defined $ops_hash{$q_date}{$op_name}{$op_proc}{'end +'} ) { $op_end_time = $hour; } else { $op_end_time = $ops_hash{$q_date}{$op_name}{$op_proc}{ +'end'}; } if ( ( $row_time >= $op_start_time ) && ( $row_time <= $op +_end_time ) ) { print "X:$op_proc,"; } else { print "_,"; } } } print "\n"; } __DATA__ 2013-07-10 00:22:16.000000,"ANR0984I Process 802 for MIGRATION started + in the BACKGROUND at 00:22:16. (SESSION: 91364, PROCESS: 802)" 2013-07-10 00:38:19.000000,"ANR0984I Process 803 for BACKUP STORAGE PO +OL started in the BACKGROUND at 00:38:19. (SESSION: 91367, PROCESS: 8 +03)" 2013-07-10 00:38:25.000000,"ANR0984I Process 804 for SPACE RECLAMATION + started in the BACKGROUND at 00:38:25. (SESSION: 91380, PROCESS: 804 +)" 2013-07-10 00:42:07.000000,"ANR0985I Process 804 for SPACE RECLAMATION + running in the BACKGROUND completed with completion state FAILURE at + 00:42:07. (SESSION: 91380, PROCESS: 804)" 2013-07-10 02:41:09.000000,"ANR0986I Process 803 for BACKUP STORAGE PO +OL running in the BACKGROUND processed 239,441 items for a total of 1 +51,741,110,153 bytes with a completion state of FAILURE at 02:41:09. +(SESSION: 91367, PROCESS: 803)" 2013-07-10 06:16:19.000000,"ANR0984I Process 805 for MOVE DRMEDIA star +ted in the BACKGROUND at 06:16:19. (SESSION: 92271, PROCESS: 805)" 2013-07-10 06:17:12.000000,"ANR0987I Process 805 for MOVE DRMEDIA runn +ing in the BACKGROUND processed 1 items with a completion state of SU +CCESS at 06:17:12. (SESSION: 92271, PROCESS: 805)" 2013-07-10 09:00:38.000000,"ANR0984I Process 806 for PREPARE started i +n the BACKGROUND at 09:00:38. (SESSION: 92686, PROCESS: 806)" 2013-07-10 09:00:39.000000,"ANR0984I Process 807 for EXPIRE INVENTORY +started in the BACKGROUND at 09:00:39. (SESSION: 92687, PROCESS: 807) +" 2013-07-10 09:00:42.000000,"ANR0985I Process 806 for PREPARE running i +n the BACKGROUND completed with completion state SUCCESS at 09:00:42. + (SESSION: 92686, PROCESS: 806)" 2013-07-10 10:00:31.000000,"ANR0987I Process 807 for EXPIRE INVENTORY +running in the BACKGROUND processed 138,657 items with a completion s +tate of SUCCESS at 10:00:31. (SESSION: 92687, PROCESS: 807)" 2013-07-10 10:38:26.000000,"ANR0984I Process 808 for RESTORE VOLUME (P +REVIEW) started in the BACKGROUND at 10:38:26. (SESSION: 92923, PROCE +SS: 808)" 2013-07-10 11:03:11.000000,"ANR0986I Process 808 for RESTORE VOLUME (P +REVIEW) running in the BACKGROUND processed 72,020 items for a total +of 19,033,025,961 bytes with a completion state of SUCCESS at 11:03:1 +1. (SESSION: 92923, PROCESS: 808)" 2013-07-10 13:01:20.000000,"ANR0984I Process 809 for MOVE DATA started + in the BACKGROUND at 13:01:20. (SESSION: 93702, PROCESS: 809)" 2013-07-10 13:16:38.000000,ANR0984I Process 810 for EXPIRE INVENTORY ( +Automatic) started in the BACKGROUND at 13:16:38. (PROCESS: 810) 2013-07-10 13:31:32.000000,"ANR0987I Process 810 for EXPIRE INVENTORY +(Automatic) running in the BACKGROUND processed 13,071 items with a c +ompletion state of SUCCESS at 13:31:32. (PROCESS: 810)" 2013-07-10 14:51:27.000000,"ANR0986I Process 809 for MOVE DATA running + in the BACKGROUND processed 17,017 items for a total of 3,265,383,66 +9 bytes with a completion state of FAILURE at 14:51:27. (SESSION: 937 +02, PROCESS: 809)" 2013-07-10 18:00:06.000000,"ANR0984I Process 811 for Database Backup s +tarted in the FOREGROUND at 18:00:06. (SESSION: 93880, PROCESS: 811)" 2013-07-10 18:00:20.000000,"ANR0984I Process 812 for MOVE DRMEDIA star +ted in the BACKGROUND at 18:00:20. (SESSION: 93881, PROCESS: 812)" 2013-07-10 18:00:21.000000,"ANR0985I Process 812 for MOVE DRMEDIA runn +ing in the BACKGROUND completed with completion state SUCCESS at 18:0 +0:21. (SESSION: 93881, PROCESS: 812)" 2013-07-10 18:00:38.000000,"ANR0984I Process 813 for MOVE DRMEDIA star +ted in the BACKGROUND at 18:00:38. (SESSION: 93884, PROCESS: 813)" 2013-07-10 18:00:38.000000,"ANR0985I Process 813 for MOVE DRMEDIA runn +ing in the BACKGROUND completed with completion state SUCCESS at 18:0 +0:38. (SESSION: 93884, PROCESS: 813)" 2013-07-10 18:00:58.000000,"ANR0984I Process 814 for CHECKIN LIBVOLUME + started in the BACKGROUND at 18:00:58. (SESSION: 93885, PROCESS: 814 +)" 2013-07-10 18:01:04.000000,"ANR0985I Process 814 for CHECKIN LIBVOLUME + running in the BACKGROUND completed with completion state SUCCESS at + 18:01:04. (SESSION: 93885, PROCESS: 814)" 2013-07-10 20:08:14.000000,"ANR0985I Process 811 for Database Backup r +unning in the FOREGROUND completed with completion state SUCCESS at 2 +0:08:14. (SESSION: 93880, PROCESS: 811)" __END__ Hash looks like this '2013-07-10' => { 'MOVE DATA' => { '809' => { 'end' => '14', 'start' => '13 +' } }, 'BACKUP STORAGE POOL' => { '803' => { 'end +' => '2', 'sta +rt' => '0' } }, 'MIGRATION' => { '802' => { 'start' => '0' } }, 'PREPARE' => { '806' => { 'end' => '9', 'start' => '9' } }, 'CHECKIN LIBVOLUME' => { '814' => { 'end' +=> '18', 'start +' => '18' } }, 'SPACE RECLAMATION' => { '804' => { 'end' +=> '0', 'start +' => '0' } }, 'RESTORE VOLUME' => { '808' => { 'end' => +'11', 'start' = +> '10' } }, 'MOVE DRMEDIA' => { '805' => { 'end' => '6 +', 'start' => +'6' }, '812' => { 'end' => '1 +8', 'start' => +'18' }, '813' => { 'end' => '1 +8', 'start' => +'18' } }, 'EXPIRE INVENTORY' => { '810' => { 'end' = +> '13', 'start' + => '13' }, '807' => { 'end' = +> '10', 'start' + => '9' } }, 'Database Backup' => { '811' => { 'end' => + '20', 'start' +=> '18' } } } }; NOTE: The numbers next to the X are just for debugging so they will no +t be part of the actual output. It is there to make it easier to see + where things map out. In the case of the X:812 X:813, only one X sh +ould print. Getting the following Time,MOVE DATA,BACKUP STORAGE POOL,MIGRATION,PREPARE,CHECKIN LIBVOLUME +,SPACE RECLAMATION,RESTORE VOLUME,MOVE DRMEDIA,EXPIRE INVENTORY,Datab +ase Backup, 0,_,X:803,X:802,_,_,X:804,_,_,_,_,_,_,_, 1,_,X:803,X:802,_,_,_,_,_,_,_,_,_,_, 2,_,X:803,X:802,_,_,_,_,_,_,_,_,_,_, 3,_,_,X:802,_,_,_,_,_,_,_,_,_,_, 4,_,_,X:802,_,_,_,_,_,_,_,_,_,_, 5,_,_,X:802,_,_,_,_,_,_,_,_,_,_, 6,_,_,X:802,_,_,_,_,X:805,_,_,_,_,_, 7,_,_,X:802,_,_,_,_,_,_,_,_,_,_, 8,_,_,X:802,_,_,_,_,_,_,_,_,_,_, 9,_,_,X:802,X:806,_,_,_,_,_,_,_,X:807,_, 10,_,_,X:802,_,_,_,X:808,_,_,_,_,X:807,_, 11,_,_,X:802,_,_,_,X:808,_,_,_,_,_,_, 12,_,_,X:802,_,_,_,_,_,_,_,_,_,_, 13,X:809,_,X:802,_,_,_,_,_,_,_,X:810,_,_, 14,X:809,_,X:802,_,_,_,_,_,_,_,_,_,_, 15,_,_,X:802,_,_,_,_,_,_,_,_,_,_, 16,_,_,X:802,_,_,_,_,_,_,_,_,_,_, 17,_,_,X:802,_,_,_,_,_,_,_,_,_,_, 18,_,_,X:802,_,X:814,_,_,_,X:812,X:813,_,_,X:811, 19,_,_,X:802,_,_,_,_,_,_,_,_,_,X:811, 20,_,_,_,_,_,_,_,_,_,_,_,_,X:811, 21,_,_,_,_,_,_,_,_,_,_,_,_,_, 22,_,_,_,_,_,_,_,_,_,_,_,_,_, 23,_,_,_,_,_,_,_,_,_,_,_,_,_, I am expecting to get the following. Time,MOVE DATA,BACKUP STORAGE POOL,MIGRATION,PREPARE,CHECKIN LIBVOLUME +,SPACE RECLAMATION,RESTORE VOLUME,MOVE DRMEDIA,EXPIRE INVENTORY,Datab +ase Backup, 0,_,X:803,X:802,_,_,X:804,_,_,_,_, 1,_,X:803,X:802,_,_,_,_,_,_,_, 2,_,X:803,X:802,_,_,_,_,_,_,_, 3,_,_,X:802,_,_,_,_,_,_,_, 4,_,_,X:802,_,_,_,_,_,_,_, 5,_,_,X:802,_,_,_,_,_,_,_, 6,_,_,X:802,_,_,_,_,X:805,_,_, 7,_,_,X:802,_,_,_,_,_,_,_, 8,_,_,X:802,_,_,_,_,_,_,_, 9,_,_,X:802,X:806,_,_,_,_,X:807,_, 10,_,_,X:802,_,_,_,X:808,_,X:807,_, 11,_,_,X:802,_,_,_,X:808,_,_,_, 12,_,_,X:802,_,_,_,_,_,_,_, 13,X:809,_,X:802,_,_,_,_,_,X:810,_, 14,X:809,_,X:802,_,_,_,_,_,_,_, 15,_,_,X:802,_,_,_,_,_,_,_, 16,_,_,X:802,_,_,_,_,_,_,_, 17,_,_,X:802,_,_,_,_,_,_,_, 18,_,_,X:802,_,X:814,_,_,"X:812, X:813",_,X:811, 19,_,_,X:802,_,_,_,_,_,_,X:811, 20,_,_,_,_,_,_,_,_,_,X:811, 21,_,_,_,_,_,_,_,_,_,_, 22,_,_,_,_,_,_,_,_,_,_, 23,_,_,_,_,_,_,_,_,_,_,

Comment on Hash to table with multiple attributes
Download Code
Re: Hash to table with multiple attributes
by Loops (Hermit) on Jul 18, 2013 at 00:25 UTC

    It seems that you're expecting a specific order for hash keys. Unfortunately this is unreliable and will vary in unpredictable ways. See the second paragraph of keys

      Thank you. I will look into it.
Re: Hash to table with multiple attributes
by zork42 (Monk) on Jul 18, 2013 at 06:43 UTC
      Thanks for the tip. I will give it a shot.
Re: Hash to table with multiple attributes
by onelander (Sexton) on Jul 18, 2013 at 23:04 UTC

    I tried to sort the keys but it did not correct the issue. As I think about it, I do not believe that is the root of the problem.

    I am trying to keep the processes start and end time under the unique headings not under the total number of headings listed from output of Dumper.

    I will attempt to use a format rather than try to build a table by hand as I think that will do what I need and be cleaner.

Re: Hash to table with multiple attributes
by onelander (Sexton) on Jul 19, 2013 at 03:35 UTC

    I am closer to my answer so in the interest of other people seeing how far I have come here is where I have made changes. This is the correct column output but now I have to figure out the rows and I am going to work on a few ideas.

    foreach my $op ( keys %{ $ops_hash{$q_date} } ) { push (@ops_array, $op); } $~ = HEADER; write; $~ = DATA; for ( 0 .. 23 ) { my $row_time = $_; foreach my $op_name ( @ops_array ) { foreach my $op_proc ( sort keys %{ $ops_hash{$q_date}{$op_name +} } ) { my $op_start_time = $ops_hash{$q_date}{$op_name}{$op_proc} +{'start'}; if ( ! defined $ops_hash{$q_date}{$op_name}{$op_proc}{'end +'} ) { $op_end_time = $hour; } else { $op_end_time = $ops_hash{$q_date}{$op_name}{$op_proc}{ +'end'}; } $time = $row_time; $move_data = ( ($op_name =~ /MOVE DATA/) && ( ( $row +_time >= $op_start_time ) && ( $row_time <= $op_end_time ) ) ) ? "X" +: "_"; $backup = ( ($op_name =~ /BACKUP STORAGE/) && ( ( $row +_time >= $op_start_time ) && ( $row_time <= $op_end_time ) ) ) ? "X" +: "_"; $migrate = ( ($op_name =~ /MIGRATION/) && ( ( $row +_time >= $op_start_time ) && ( $row_time <= $op_end_time ) ) ) ? "X" +: "_"; $prepare = ( ($op_name =~ /PREPARE/) && ( ( $row +_time >= $op_start_time ) && ( $row_time <= $op_end_time ) ) ) ? "X" +: "_"; $checkin = ( ($op_name =~ /CHECKIN/) && ( ( $row +_time >= $op_start_time ) && ( $row_time <= $op_end_time ) ) ) ? "X" +: "_"; $reclaim = ( ($op_name =~ /RECLAMATION/) && ( ( $row +_time >= $op_start_time ) && ( $row_time <= $op_end_time ) ) ) ? "X" +: "_"; $restore = ( ($op_name =~ /RESTORE/) && ( ( $row +_time >= $op_start_time ) && ( $row_time <= $op_end_time ) ) ) ? "X" +: "_"; $move = ( ($op_name =~ /MOVE DRMEDIA/) && ( ( $row +_time >= $op_start_time ) && ( $row_time <= $op_end_time ) ) ) ? "X" +: "_"; $expire = ( ($op_name =~ /EXPIRE/) && ( ( $row +_time >= $op_start_time ) && ( $row_time <= $op_end_time ) ) ) ? "X" +: "_"; $db = ( ($op_name =~ /Database Backup/) && ( ( $row +_time >= $op_start_time ) && ( $row_time <= $op_end_time ) ) ) ? "X" +: "_"; # if ( # ( $move_data eq "_" ) && # ( $backup eq "_" ) && # ( $migrate eq "_" ) && # ( $prepare eq "_" ) && # ( $checkin eq "_" ) && # ( $reclaim eq "_" ) && # ( $restore eq "_" ) && # ( $move eq "_" ) && # ( $db eq "_" ) ) { # next; # } write; } #write; } #write; } format HEADER = Hour MOVE DATA BACKUP STORAGE POOL MIGRATION PREPARE CHECKIN + LIBVOLUME SPACE RECLAMATION RESTORE VOLUME MOVE DRMEDIA EXPI +RE INVENTORY Database Backup . format DATA = @|| @|| @|| @|| @|| + @|| @|| @|| @|| + @|| @|| $time, $move_data, $backup, $migrate, $prepare, +$checkin, $reclaim, $restore, $move, +$expire, $db .
Re: Hash to table with multiple attributes
by onelander (Sexton) on Jul 19, 2013 at 11:59 UTC

    Here is the final solution. I wish I had thought of the "another level of abstraction" would help earlier.

    #!/usr/bin/perl use strict; use warnings; use Getopt::Long; use Data::Dumper; my $debug = 0; my $q_date = "null"; my $operation; my $process; my $date; my $time; my %ops_hash; my @ops_array; my ($move_data, $backup, $migrate, $prepare, $checkin, $reclaim, $rest +ore, $move, $expire, $db); GetOptions('d:s' => \$q_date, 'x' => \$debug); my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime; $min = "0" . $min if $min < 10; $hour = "0" . $hour if $hour < 10; $mon += 1; $mon = "0" . $mon if $mon < 10; $year += 1900; if ( $q_date eq "null" ) { $q_date = "$year-$mon-$mday"; } if ( $q_date !~ /\d{4}-\d{2}-\d{2}/ ) { print "Please use a date format of YYYY-MM-DD\n"; exit 1; } my @actlog = <DATA>; print "@actlog" if $debug; foreach my $line ( @actlog ) { next if $line =~ /^$/; chomp ($line); my ($date_time, $message) = split (/,/, $line, 2); ($date, $time) = split (/ /, $date_time); $time =~ s/(\d{2}):\d{2}:\d{2}\.000000/$1/; # save only the hour if ( $time =~ /0(\d)/ ) { $time = $1; # if it is an hour below 10 strip the leading 0 } if ( $message =~ /ANR098[4|5|6|7]I/ ) { $message =~ /Process \d{1,} for ([A-Z ]{1,}|Database Backup)\b +.*PROCESS: (\d{1,})\)/; $operation = $1; $process = $2; $operation =~ s/\s+$//; if ( $message =~ /ANR0984I/ ) { $ops_hash{$date}{"$operation"}{$process}{'start'} = $time; } else { $ops_hash{$date}{"$operation"}{$process}{'end'} = $time; } } } print Dumper(\%ops_hash) if $debug; print "Hour,"; foreach my $op ( keys %{ $ops_hash{$q_date} } ) { push (@ops_array, $op); print "$op,"; } push (@ops_array, "end"); print "\n"; for ( 0 .. 23 ) { my $row_time = $_; print "$row_time,"; foreach my $op_name ( @ops_array ) { if ( $op_name ne "end" ) { my $column = did_op_run(\%ops_hash, $q_date, $op_name, $ro +w_time, $hour); if ( $column ne "X," ) { $column = "_,"; } print $column; } else { print "\n"; } } } sub did_op_run { my $log_hash = shift; my $log_date = shift; my $log_process = shift; my $row_hour = shift; my $now_hour = shift; my $op_start_time; my $op_end_time; foreach my $op_proc ( keys %{ $log_hash->{$log_date}{$log_process} + } ) { $op_start_time = $log_hash->{$log_date}{$log_process}{$op_proc +}{'start'}; if ( ! defined $log_hash->{$log_date}{$log_process}{$op_proc}{ +'end'} ) { $op_end_time = $now_hour; } else { $op_end_time = $log_hash->{$log_date}{$log_process}{$op_pr +oc}{'end'}; } if ( ( $row_hour >= $op_start_time ) && ( $row_hour <= $op_end +_time ) ) { return "X,"; } } } __DATA__ 2013-07-10 00:22:16.000000,"ANR0984I Process 802 for MIGRATION started + in the BACKGROUND at 00:22:16. (SESSION: 91364, PROCESS: 802)" 2013-07-10 00:38:19.000000,"ANR0984I Process 803 for BACKUP STORAGE PO +OL started in the BACKGROUND at 00:38:19. (SESSION: 91367, PROCESS: 8 +03)" 2013-07-10 00:38:25.000000,"ANR0984I Process 804 for SPACE RECLAMATION + started in the BACKGROUND at 00:38:25. (SESSION: 91380, PROCESS: 804 +)" 2013-07-10 00:42:07.000000,"ANR0985I Process 804 for SPACE RECLAMATION + running in the BACKGROUND completed with completion state FAILURE at + 00:42:07. (SESSION: 91380, PROCESS: 804)" 2013-07-10 02:41:09.000000,"ANR0986I Process 803 for BACKUP STORAGE PO +OL running in the BACKGROUND processed 239,441 items for a total of 1 +51,741,110,153 bytes with a completion state of FAILURE at 02:41:09. +(SESSION: 91367, PROCESS: 803)" 2013-07-10 06:16:19.000000,"ANR0984I Process 805 for MOVE DRMEDIA star +ted in the BACKGROUND at 06:16:19. (SESSION: 92271, PROCESS: 805)" 2013-07-10 06:17:12.000000,"ANR0987I Process 805 for MOVE DRMEDIA runn +ing in the BACKGROUND processed 1 items with a completion state of SU +CCESS at 06:17:12. (SESSION: 92271, PROCESS: 805)" 2013-07-10 09:00:38.000000,"ANR0984I Process 806 for PREPARE started i +n the BACKGROUND at 09:00:38. (SESSION: 92686, PROCESS: 806)" 2013-07-10 09:00:39.000000,"ANR0984I Process 807 for EXPIRE INVENTORY +started in the BACKGROUND at 09:00:39. (SESSION: 92687, PROCESS: 807) +" 2013-07-10 09:00:42.000000,"ANR0985I Process 806 for PREPARE running i +n the BACKGROUND completed with completion state SUCCESS at 09:00:42. + (SESSION: 92686, PROCESS: 806)" 2013-07-10 10:00:31.000000,"ANR0987I Process 807 for EXPIRE INVENTORY +running in the BACKGROUND processed 138,657 items with a completion s +tate of SUCCESS at 10:00:31. (SESSION: 92687, PROCESS: 807)" 2013-07-10 10:38:26.000000,"ANR0984I Process 808 for RESTORE VOLUME (P +REVIEW) started in the BACKGROUND at 10:38:26. (SESSION: 92923, PROCE +SS: 808)" 2013-07-10 11:03:11.000000,"ANR0986I Process 808 for RESTORE VOLUME (P +REVIEW) running in the BACKGROUND processed 72,020 items for a total +of 19,033,025,961 bytes with a completion state of SUCCESS at 11:03:1 +1. (SESSION: 92923, PROCESS: 808)" 2013-07-10 13:01:20.000000,"ANR0984I Process 809 for MOVE DATA started + in the BACKGROUND at 13:01:20. (SESSION: 93702, PROCESS: 809)" 2013-07-10 13:16:38.000000,ANR0984I Process 810 for EXPIRE INVENTORY ( +Automatic) started in the BACKGROUND at 13:16:38. (PROCESS: 810) 2013-07-10 13:31:32.000000,"ANR0987I Process 810 for EXPIRE INVENTORY +(Automatic) running in the BACKGROUND processed 13,071 items with a c +ompletion state of SUCCESS at 13:31:32. (PROCESS: 810)" 2013-07-10 14:51:27.000000,"ANR0986I Process 809 for MOVE DATA running + in the BACKGROUND processed 17,017 items for a total of 3,265,383,66 +9 bytes with a completion state of FAILURE at 14:51:27. (SESSION: 937 +02, PROCESS: 809)" 2013-07-10 18:00:06.000000,"ANR0984I Process 811 for Database Backup s +tarted in the FOREGROUND at 18:00:06. (SESSION: 93880, PROCESS: 811)" 2013-07-10 18:00:20.000000,"ANR0984I Process 812 for MOVE DRMEDIA star +ted in the BACKGROUND at 18:00:20. (SESSION: 93881, PROCESS: 812)" 2013-07-10 18:00:21.000000,"ANR0985I Process 812 for MOVE DRMEDIA runn +ing in the BACKGROUND completed with completion state SUCCESS at 18:0 +0:21. (SESSION: 93881, PROCESS: 812)" 2013-07-10 18:00:38.000000,"ANR0984I Process 813 for MOVE DRMEDIA star +ted in the BACKGROUND at 18:00:38. (SESSION: 93884, PROCESS: 813)" 2013-07-10 18:00:38.000000,"ANR0985I Process 813 for MOVE DRMEDIA runn +ing in the BACKGROUND completed with completion state SUCCESS at 18:0 +0:38. (SESSION: 93884, PROCESS: 813)" 2013-07-10 18:00:58.000000,"ANR0984I Process 814 for CHECKIN LIBVOLUME + started in the BACKGROUND at 18:00:58. (SESSION: 93885, PROCESS: 814 +)" 2013-07-10 18:01:04.000000,"ANR0985I Process 814 for CHECKIN LIBVOLUME + running in the BACKGROUND completed with completion state SUCCESS at + 18:01:04. (SESSION: 93885, PROCESS: 814)" 2013-07-10 20:08:14.000000,"ANR0985I Process 811 for Database Backup r +unning in the FOREGROUND completed with completion state SUCCESS at 2 +0:08:14. (SESSION: 93880, PROCESS: 811)"

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1044932]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (10)
As of 2014-09-23 18:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (239 votes), past polls