server1: MyDate (today's date) --> MyBackupSet --> Backup Attribute = Backup Value server2: MyDate (today's date) --> MyBackupSet --> Backup Attribute = Backup Value #### use strict; use warnings; use File::Basename; use Data::Dumper; my %MyItems; my $ARGV ="/var/log/server1.log"; my $mon = 'Aug'; my $day = '06'; my $year = '2010'; while (my $line = <>) { chomp $line; print "Line: $line\n" if debug; if ($line =~ m/(.* $mon $day) \d{2}:\d{2}:\d{2} $year: ([^:]+):backup:/) { my $server = basename $ARGV, '.log'; my $BckupDate="$1 $year"; my $BckupSet =$2; print "$BckupDate ($BckupSet): " if debug; $MyItems{$server}{$BckupSet}->{'MyLogdate'} = $BckupDate; $MyItems{$server}{$BckupSet}->{'MyDataset'} = $BckupSet; $MyItems{$server}{$BckupSet}->{'MyHost'} = $server; #$MyItems{$server}{$BckupSet}->{'MyServer'} = $server; if ($line =~ m/(ERROR|backup-size|backup-time|backup-status)[:=](.+)/) { my $BckupKey=$1; my $BckupVal=$2; $MyItems{$server}{$BckupSet}->{$BckupKey} = $BckupVal; print "$BckupKey=$BckupVal\n" if debug; } } } print Dumper(%MyItems); #### $VAR1 = 'server1'; $VAR2 = { 'abc1.mil.mad' => { 'ERROR' => ' If you are sure is not running, please remove the file and restart ', 'MyLogdate' => 'Fri Aug 06 2010', 'MyHost' => 'server1', 'MyDataset' => 'abc1.mil.mad' }, 'abc2.cfl.mil.mad' => { 'backup-size' => '187.24 GB', 'MyLogdate' => 'Fri Aug 06 2010', 'MyHost' => 'server1', 'backup-status' => 'Backup succeeded', 'backup-time' => '01:54:27', 'MyDataset' => 'abc2.cfl.mil.mad' }, 'abc3.mil.mad' => { 'backup-size' => '46.07 GB', 'MyLogdate' => 'Fri Aug 06 2010', 'MyHost' => 'server1', 'backup-status' => 'Backup succeeded', 'backup-time' => '00:41:06', 'MyDataset' => 'abc3.mil.mad' }, 'abc4.mad_lvm' => { 'backup-size' => '422.99 GB', 'MyLogdate' => 'Fri Aug 06 2010', 'MyHost' => 'server1', 'backup-status' => 'Backup succeeded', 'backup-time' => '04:48:50', 'MyDataset' => 'abc4.mad_lvm' } }; #### Fri Aug 06 00:00:04 2010: abc2.cfl.mil.mad:backup:INFO: Fri Aug 06 00:00:05 2010: abc2.cfl.mil.mad:backup:INFO: backup-set=abc2.cfl.mil.mad Fri Aug 06 00:00:05 2010: abc2.cfl.mil.mad:backup:INFO: backup-date=20100806000004 Fri Aug 06 00:00:05 2010: abc2.cfl.mil.mad:backup:INFO: Fri Aug 06 00:48:54 2010: abc4.mad_lvm:backup:INFO: backup-size=422.99 GB 0: abc4.mad_lvm:backup:INFO: flush-logs-time=00:00:00 Fri Aug 06 00:48:54 2010: abc4.mad_lvm:backup:INFO: backup-time=04:48:50 Fri Aug 06 00:48:54 2010: abc4.mad_lvm:backup:INFO: backup-status=Backup succeeded Fri Aug 06 00:48:54 2010: abc4.mad_lvm:backup:INFO: Backup succeeded Fri Aug 06 00:48:54 2010: abc4.mad_lvm:backup:INFO: PHASE START: Running post backup plugin Fri Aug 06 00:48:55 2010: abc4.mad_lvm:backup:INFO: PHASE END: Running post backup plugin Fri Aug 06 00:48:55 2010: abc4.mad_lvm:backup:INFO: PHASE START: Cleanup Fri Aug 06 00:48:55 2010: abc4.mad_lvm:backup:INFO: PHASE END: Cleanup Fri Aug 06 00:48:55 2010: abc4.mad_lvm:backup:INFO: END OF BACKUP #### MyHost=>server1;MyLogdate=>Fri Aug 06 2010;MyDataset=>abc2.cfl.mil.mad;backup-time=>Fri Aug 06 2010;backup-status=>Backup succeeded MyHost=>server2;MyLogdate=>Fri Aug 06 2010;MyDataset=>abc4.mad_lvm;backup-status=>Backup succeeded