需要更多功能的日志监视脚本

时间:2019-06-13 15:12:18

标签: bash unix

我在下面的日志监视脚本中编写了egrep多个单词,并将输出重定向到文本文件,并且其工作正常,但是我想在其下面的功能中添加更多功能,这是非常先进的,而且我不太满意,所以请提供帮助:)

  1. 我正在重复所有错误代码,所以我要而不是重复所有错误代码,我应该grep表示“ HTTP / 1.1” 200”,这是成功的代码,并且哪一行都没有此重定向输出到输出文件。
  2. 忽略任何包含“ / akamai / sureroute”的行
  3. 现在我正在使用cronjob每5分钟运行一次此脚本,因此我的脚本将一次又一次发送相同的错误,因此我希望脚本不发送相同的错误超过3次。 (基于时间戳)。
  4. 例如如果服务器出现故障,我不希望出现1000条错误消息,因此,如果错误消息超过100条,脚本应该只发送1条邮件。

=============

find /home/bharat/ -type f -name "apache_logs.txt" |while read file
  do
    RESULT=$(egrep "[^0](400|401|403|404|405|406|407|408|409|410|411|412|413|414|415|416|417|418|422|425|426|428|429|431|451|500|501|502|503|504|505|511)" $file)
      if [[ ! -z $RESULT ]]
         then
            echo "Error(s) in $file on $HOSTNAME at "$(date)": $RESULT">> email_result.txt
     fi
  done

0 个答案:

没有答案