我们公司有一台运行 qmail 的服务器 (VPS)。我在这个服务器上的域下有多个 IMAP 邮箱,我想查明在一定时期内(即一个月)从我们的域发送了多少封电子邮件。有什么办法吗?
答案1
我会去grep -c "delivery [0-9]*: success" /path/to/your/logfile.log
。
如果您的日志文件每月轮换一次,那么这种方法本身就很好用。如果日志文件每天轮换一次,您可能需要添加更多日志文件,如果它们不符合任何基于时间的计划,那么您可能还必须针对月份进行 grep。
第一个可能的问题是 qmail 喜欢轮换自己的日志文件,默认情况下(从内存中)当日志文件达到 10MB 时就会轮换并保留其中的 4 个。您必须更改日志配置,要么告诉 qmail 保留更多文件,要么将它们全部通过 syslog 传输并让 syslog 管理它们。
第二,qmail 中的时间戳不是人类可读的。请确保将所有内容都通过管道传输,tai64nlocal
以便可以读取时间戳。
qmail 生成的日志文件与其他日志文件不同。您可能需要一些帮助处理他们。
如果你花了一些时间使用 qmail,你一定想知道使用 qmail 的生活和DJB 方式。