每当消息发送到特定地址时,我都会使用 Postfix 运行脚本。该脚本是一个 Perl 脚本,它使用Log4perl将日志写入文件。Log4perl 每天轮换日志文件。
除了一个小角落之外,它运行良好。当日志文件大小超过 50MB 时,脚本无法写入日志文件。
对 Postfix 进行一些研究后,看来这可能是 Postfix 设置的限制。postconf
这是可能相关的部分输出。
$ postconf | grep size
berkeley_db_create_buffer_size = 16777216
berkeley_db_read_buffer_size = 131072
body_checks_size_limit = 51200
bounce_size_limit = 50000
header_size_limit = 102400
mailbox_size_limit = 51200000
message_size_limit = 10240000
tcp_windowsize = 0
$ postconf | grep virtual_mailbox_limit
virtual_mailbox_limit = 51200000
Run Code Online (Sandbox Code Playgroud)
是否有任何选项可以更改以消除从脚本创建的日志文件的文件大小 50MB 限制?
以下是 Log4perl 设置的完整性。
$ cat /some/path/to/my/log4perlsettings.cfg
log4perl.logger.mylog = DEBUG,LOGGER
log4perl.appender.LOGGER = Log::Dispatch::FileRotate
log4perl.appender.LOGGER.TZ=PST
log4perl.appender.LOGGER.DatePattern=yyyy-MM-dd
log4perl.appender.LOGGER.filename = /some/path/to/my/logs/logfile.log
log4perl.appender.LOGGER.mode = append
log4perl.appender.LOGGER.max …
Run Code Online (Sandbox Code Playgroud)