查找最近包含字符串\"Exception\"的日志

・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 )的话,使用它。

Hujiuxiang profile image