我正在从另一台服务器获取一些日志文件(txt 格式)并尝试使用我的 Perl 脚本解析它们。正确获取日志之后,我将日志目录的权限设置为 777。
在此之后,我尝试通过我的 Perl 脚本一个一个地打开日志文件进行解析。现在,奇怪的事情和发生的问题是,我的脚本有时能够打开文件,有时却不能。简单来说就是有时无法打开日志文件进行解析。
此外,我已经 cronned 这个 perl 脚本,当它通过 cron 而不是手动运行时,文件打开失败的可能性更大,尽管它们以前在这两种情况下都成功运行。我不明白问题出在哪里。
这是我用来打开文件的代码,
$inputDir = "/path/to/dir";
@inputFiles = <$inputDir/*>;
# inputFiles array is list of files in the log directory
foreach my $logFile(@inputFiles)
{
# just to ensure file name is text
$logFile = $logFile."";
# process file only if filename contains "NOK"
if(index($logFile,"NOK") > -1)
{
# opens the file
open($ifile, '<', $logFile) or die "Error: Unable to open file for processing.";
# file parsing takes place
}
}
close($ifile);
我想重申一下这段代码已经成功运行并且我没有改变它的任何部分。然而,它并非每次都运行无误,因为它有时无法打开日志文件。有任何想法吗?