这个大日志文件几乎每秒都在变化,如下所示:
013-07-10 17:59:08 +0900 "app.log_count":0,"
013-07-10 17:59:09 +0900 "app.log_count":4,"
013-07-10 17:59:10 +0900 "app.log_count":1,"
013-07-10 17:59:12 +0900 "app.log_count":5,"
我正在制作一个读取此日志的脚本。具体来说,它会尝试检查“app.log_count”部分是否超过了某个阈值:
open my $infile, "<", $file_location or die("$!: $file_location");
while (<$infile>) {
if ( "app.log_count":(\d+) ) {
if ($_ >= $threshold) {
# warning
} else {
# not warning;
}
}
}
close $infile;
我计划每分钟运行一次 cron 作业。
但我想制作一个不会每次都运行整个文件的脚本。如果脚本每分钟读取一次所有的日志文件,并且我们假设在第 t 分钟有一个 regex mach,它会发送一个邮件通知;然后在脚本再次运行的第 t+1 分钟,即使没有“新匹配”,它也会发送另一封邮件通知。
所以我需要制作一个脚本来记住它读取的最后一个位置(行),所以下一次,它会从那个位置开始读取。有任何想法吗?一切顺利,阿德里安。