我有一个简单的脚本,它输出一堆日志到屏幕上,我将 STDOUT 通过管道传输到一个文件来存储日志。由于这个脚本运行时间很长,我需要轮换日志文件,以便将它们放入更小的更易于管理的文件中。
我面临的问题是,一旦logrotate
将当前日志文件移动到一个新文件中,新创建的日志文件就不再填充日志了。似乎一旦原始日志文件被删除,它的文件处理程序就会丢失并且重定向将不再起作用。
我还发现这篇文章与我有同样的问题,并声称可以通过使用>>
而不是>
重定向输出来修复它。我测试了他的解决方案,但对我不起作用。有谁知道如何保持重定向工作?
我正在使用 Postfix 发送我的电子邮件,而且我有相当多的电子邮件列表可以发送时事通讯。因此,我更喜欢通过将其中一封电子邮件设置To
为Bcc
(在 PHP 中)和一堆其他电子邮件来将我的 SMTP 请求打包成一个请求。
我的问题是,如果其中一封电子邮件无效,Postfix 会拒绝整个请求并提示以下错误:
5.1.1 : Recipient address rejected: User unknown in local recipient table
Run Code Online (Sandbox Code Playgroud)
如果我能以某种方式配置 Postfix 以便它转储无效的但发送其余的,那就太好了。我知道我可以在电子邮件中使用地址之前自己验证地址,但我更喜欢它是由 Postfix 完成的。
[更新]
这是邮件日志的内容:
Nov 18 16:20:28 mail postfix/smtpd[12922]: 14A5FB812E1: client=localhost[127.0.0.1]
Nov 18 16:20:28 mail postfix/smtpd[12922]: 14A5FB812E1: reject: RCPT from localhost[127.0.0.1]: 550 5.1.1 <mehran_hotmail.com>: Recipient address rejected: User unknown in local recipient table; from=<mehran@localhost> to=<mehran_hotmail.com> proto=ESMTP helo=<localhost>
Run Code Online (Sandbox Code Playgroud)
而我试图与发送电子邮件会产生这个错误mehran@hotmail.com
的主要接受者和mehran_hotmail.com
作为Bcc
。
[更新]
这是与请求相关的完整日志:
Nov 19 09:47:01 mail postfix/smtpd[20947]: connect from …
Run Code Online (Sandbox Code Playgroud)