我有一个每10分钟运行一次的cron,cronjob名称是access.log。
它从我的apache日志中提取IP地址,计算它们并对它们进行排序。
cat access.log | awk '{print $1}' | sort -n | uniq -c | sort -nr | head
但是,我希望这个cron在特定的IP命中或者浏览我的网站超过1000次时给我发送电子邮件。但是,如果计数少于1000次,则不应向我发送电子邮件。
答案 0 :(得分:1)
Cron的默认行为是在脚本生成输出时向您发送电子邮件。如果您的条件不满足,请不要生成任何输出。
awk '{print $1}' access.log |
sort -n | uniq -c | sort -nr |
awk '$1 >= 1000'
(这也修复了useless use of cat
。)