如果IP地址在访问日志中超过1000次,请向我发送电子邮件

时间:2015-03-11 14:10:19

标签: linux bash

我有一个每10分钟运行一次的cron,cronjob名称是access.log。

它从我的apache日志中提取IP地址,计算它们并对它们进行排序。

cat access.log | awk '{print $1}' | sort -n | uniq -c | sort -nr | head

但是,我希望这个cron在特定的IP命中或者浏览我的网站超过1000次时给我发送电子邮件。但是,如果计数少于1000次,则不应向我发送电子邮件。

1 个答案:

答案 0 :(得分:1)

Cron的默认行为是在脚本生成输出时向您发送电子邮件。如果您的条件不满足,请不要生成任何输出。

awk '{print $1}' access.log |
sort -n | uniq -c | sort -nr |
awk '$1 >= 1000'

(这也修复了useless use of cat。)