Hi Bayruds, here is a program to find out how old the log file actually is. It turns out that we are talking about 1 to 9 seconds old. Is that too old for you? If that seems like a reasonable age, I'd suggest you change your "-M" test line to something like:
# see if the file is more than about one hour old
if (-M $logfile > 0.042) { ... }
Here's the program. Somebody will probably produce a one-liner to do this now.
#!/usr/bin/perl
use strict;
use warnings;
my $secs_per_day = 60 * 60 * 24;
while (my $line = <DATA>)
{
chomp $line;
if ($line =~ m/MTIME:\s+(.*)/)
{
my $time = $1;
my $secs = $time * $secs_per_day;
print "$time days is $secs second(s)\n";
}
}
__END__
Output:
1.15740740740741e-05 days is 1 second(s)
0.000104166666666667 days is 9.00000000000003 second(s)
__DATA__
MTIME: 1.15740740740741e-05
MTIME: 0.000104166666666667