我想制作一个脚本来计算每小时从日志文件(邮件日志)中出现的特定字符串(域名),以检查他们每小时发送了多少封电子邮件。
我知道有许多简单而不同的方法可以将脚本查找到文件中(如 grep 等)并计算行数(如 wc -l),但我不知道如何每小时执行一次。
是的,我可以通过 cron 作业每 60 分钟调用一次脚本,但这会从头开始读取日志文件,直到脚本执行的那一刻......而不是过去 60 分钟内的行,我不知道如何克服这一点。
笔记:
我正在使用的命令显示每个域发送的所有电子邮件是:
\# cat /usr/local/psa/var/log/maillog | grep -i qmail-remote-handlers \
| grep from | awk {' print $6 '} | gawk -F@ '{ print $2 }' \
| sort | uniq -c | sort -n | tail
结果是这样的:
8 domain1.tld
45 domain34.tld
366 domain80948.tld
etc etc