如何计算Postfix的mailq的消息?


10

如何获取Postfix的mailq中的邮件数?mailq在MAILQ命令显示整个邮件,但我想知道计数 only.Is对此有任何命令。我的操作系统是centos 5.5。

Answers:


20

我用这个:

mailq | grep -c "^[A-F0-9]"

你可以管的输出mailq通过各种其他过滤器等uniqsortwc获得其他统计资料。


这是不准确的。当Postfix队列为空时,运行'mailq',我们将得到“邮件队列为空”,它也匹配“ ^ [0-9A-Z]”。在这种情况下,这是不准确的。
安迪

1
更好的正则表达式是^[A-F0-9]当邮件队列为空时正确导致0。我已经编辑了答案。
Ladadadada

输出的最后一行是计数多么愚蠢
Geoffrey

16

要么mailq | tail -n 1find /var/spool/postfix/deferred -type f | wc -l

两者都有效


1
我收到“ 26472个请求中的682430 KB”。第一个为“ 23”。

0

将输出通过管道传输到wc,如果需要进一步优化,请使用grep。


0

我用

/usr/sbin/postqueue -p | /usr/bin/tail -n1 | /usr/bin/gawk '{print $5}'

似乎比grep快,但没有0回报


0

我用:

mailq | grep -c“ ^ $”

这基本上与@Ladadadada的回答相同:

mailq | grep -c“ ^ [A-F0-9]”

除了我只是在mailq日志中寻找每个消息条目后面的空行,而不是看起来像有效的消息ID开头的行。因此,尽管只在非常不典型的mailq日志大小上才可以注意到差异,但从性能角度来看它还是更好的选择。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.