我在 master.cf 上启用了 -v 选项;但我的 /var/log/maillog 仍然几乎是空的。我遇到了一个问题,在没有任何日志的情况下,我很难进行调试。
答案1
您的 syslogd 是否设置为将内容记录到 maillog?如下所示:
[alexus@wcmisdlin02 ~]$ grep ^mail /etc/rsyslog.conf
mail.* -/var/log/maillog
[alexus@wcmisdlin02 ~]$
还要确保它正在运行
[alexus@wcmisdlin02 ~]$ sudo service rsyslog status
rsyslogd (pid 1356) is running...
[alexus@wcmisdlin02 ~]$
答案2
我在 CentOS-7 上使用 postfix 时遇到了同样的日志问题,但使用任何记录器命令时也遇到了同样的问题,例如:“logger 系统测试我的日志”
进一步检查后,我发现 Rsyslogd 不再监听 /dev/log 套接字了!您可以使用 'lsof /dev/log' 来检查。
我通过在 /etc/rsyslogd.conf 中强制使用 /dev/log 解决了该问题。--
之后$ModLoad imuxsock
-- 添加下一行 input(type="imuxsock" HostName="localhost" Socket="/dev/log")
这将强制使用 /dev/log,在我上次更新后,它不再是默认设置。这可能是一个错误。我在使用 rsyslog-7.4.7-7.el7_0.x86_64 或
答案3
问题是默认的 Centos 8 安装不再包含 rsyslog。配置文件 (/etc/rsyslog.conf) 在那里,但没有程序。
dnf install rsyslog
systemctl start rsyslog
systemctl enable rsyslog
对我有用。
答案4
从 centos 7 迁移到新的 RHEL 8 安装后,我遇到了类似的问题。Rsyslog 会间歇性地向 maillog 写入内容。观察 journalctl ( journalctl -u postfix -f
) 显示大多数外发电子邮件均未记录。这意味着当客户抱怨未收到收据时,我丢失了记录。我尝试删除 rsyslog.conf 中 /var/log/maillog 之前的 -,但这并未解决问题。
因为我确实需要一种简单的方法来定位外发电子邮件传递的问题,所以我直接设置了 postfix 邮件日志
postfix stop
postconf maillog_file=/var/log/maillog
postfix start