查找最近包含字符串\"Exception\"的日志
Hujiuxiang
・2 分钟阅读
$ find . -name '*.log' -mtime -2 -exec grep -Hc Exception {} ; | grep -v :0$
说明
find
:
-name'*.log'
--匹配以.log
结尾的文件-mtime -2
--匹配在过去2天内修改的文件-exec CMD ARGS ;
找到每个文件的--,执行命令,其中ARGS
中的{}
将替换为文件路径,
grep
:
-c
是打印匹配项的计数,而不是匹配匹配项本身,-H
是打印文件名,如果只有一个文件名参数,grep
通常不会打印它,- 输出行的格式为
path:count
,不匹配exception的文件仍将打印,计数为0, - 第二个
grep
筛选第一个输出,不包括以:0
结尾的行(=不包含匹配的文件),
额外提示:
- 将"Exception "更改为应用程序的典型相关故障指示器
- 为
grep
添加-i
以便让搜索案例不敏感 - 要使
find
严格匹配文件请添加-type f
- 将它安排为定期作业,并将输出输出到邮件程序中,例如,
| mailx -s 'error counts' yourmail@example.com
限制
grep
的-H
标志不能在旧的操作系统中工作,例如,旧的Solaris ,在这种情况下,如果存在ggrep (GNU grep )的话,使用它。