我想查看postfix活动队列。我使用的PHP脚本
$active = shell_exec('/bin/ls -1 /var/spool/postfix/active | /usr/bin/wc -l');
但在日志中我看到了
/bin/ls: cannot open directory /var/spool/postfix/active: Permission denied
我需要添加php或postfix以避免此错误?
答案 0 :(得分:1)
通常,后缀邮件队列是模式0700,因此只有postfix可以直接读/写队列目录。看起来您要做的是获取活动队列中的项目数。您可以使用mailq
(或postqueue -p
)命令执行此操作,您应该能够以apache身份运行该命令。它列出了所有队列的所有队列项,但是如手册页所示,活动队列中的队列项在队列ID后面有*
。因此,您可以尝试使用以下命令替换ls -l
命令:
$active = shell_exec('/usr/sbin/postqueue -p | grep '^[A-F0-9]*\*' | wc -l');