是否有人在写入mbox文件时见过procmail文件锁定超时的下列问题?对于具有以下procmailrc的用户,每隔几周就会发生一次这种情况:
:0 c: #copy all mail to "bkp"
bkp在大多数情况下,这是没有问题的。每隔几周,procmail日志中就会出现以下消息:
procmail: Forcing lock on "bkp"
procmail: Timeout, was waiting for "bkp"有时候,procmail能够在后缀命令超时(现在设置为一个小时)之前释放锁(或者锁消失)。否则,邮件传递将失败,因为:
relay=local, delay=2001, delays=0.78/0.05/0/2000, dsn=5.3.0,
status=bounced (Command time limit exceeded: "procmail -t -f-")bkp文件非常大(超过10千兆字节),但这个问题在问题的几个星期之间是间歇性的,对于具有相同procmailrc和千兆字节大小文件的其他用户来说并不是这样的(尽管没有这样大的文件)。
用户不喜欢使用MailDir样式的文件夹,并希望将其保留为mbox文件。是否有一种方法可以重写脚本以允许邮件传递到用户的邮箱,而procmail则等待bkp的锁?我试过:
:0c #copy all mail to "Saved"
{
:0:
bkp
}编辑:我已经修改了上面的菜谱,从:0w:到:0:既然w在程序上等待,并且在这个语句中没有一个被执行。
如果我在测试期间手动锁定bkp,它将允许在获取邮件之前再次停止接收电子邮件。如果我在后缀超时之前释放锁,邮件将被传递。我还想确定锁定问题的根本原因,但我还无法触发它,除非自己锁定文件。我添加了LOCKTIMEOUT=10来尝试强制这种情况,但在正常的邮件传递中没有成功。
以下是procmail版本信息:
procmail v3.22 2001/09/10版权(c) 1990-2001年,Stephen R. van den Berg版权(c) 1997-2001年,Philip A. Guenther
将问题/答案发送到以下邮件,以提交与procmail相关的邮件列表:
当然,这份清单的订阅和信息请求是:
锁定策略: dotlocking,fcntl()默认rcfile:$HOME/..procmailrc它可以由您的主组写
发布于 2015-02-12 19:10:34
我所做的是:
我发现的是:
这并不是完全结论性的,但看起来高磁盘负载加上outlook客户端访问procmail试图锁定的邮件文件可以很容易地延迟邮件传递,足够长的时间到达postfix中设置的命令超时。
我没试过的是:
发布于 2013-12-02 06:56:41
您考虑过使用较小的每日/每周备份邮箱/文件吗?
您可以使用cron作业将它们移动到主备份中。
man procmailex给出了如何基于date输出获取目标名称的示例。
man procmail给出了如何使用formail来处理带有锁定的邮箱文件的示例。
https://serverfault.com/questions/558451
复制相似问题