最近XX分钟内grep / touch -mtime检查日志

时间:2014-05-13 18:56:19

标签: linux logging grep touch

我想在linux机器上运行查询。我想检查一个日志文件,并且只在最近15分钟内检查。假设日志文件有更改和添加。什么是正确的查询?

grep'测试条件' /home/somelogpath/file.log -mtime 15

感谢。

1 个答案:

答案 0 :(得分:0)

仅检查过去一小时内修改过的文件:

find /path/to/logfiles -mtime -1 -print

所以你可以

find /path/to/logfiles -mtime -1 -print | xargs grep "some condition" /dev/null

(注意:我添加一个文件(/ dev / null),以便grep总是至少有2个文件,因此将强制显示匹配文件的名称..因为它是/ dev / null ,它不会匹配你grep的任何东西,所以你没有在grep的输出中看到“/ dev / null”的风险。但是它有用它的目的:grep将为文件名前缀任何匹配,即使只是1个文件匹配)

分钟等,请检查您的:

man find

(这取决于你的操作系统等)(我现在手头没有linux)

如果你的意思是“只匹配日志文件中的最后X秒”:使用awk,并在行上有条件(它取决于日志文件格式..如果它使用“启动后的秒数”或“纪元” ,你可以简单地测试相关字段是> =某个值。如果它使用“2014-05-15 hh:mm”你也可以找到方法去做,但它会很麻烦..)