我已经实现了日志轮换:-
/data/mule/logs/*.log {
rotate 1
size 20M
missingok
noolddir
nomail
notifempty
create 644 root root
compress
}
但是如果大小超出限制,日志就不会连续轮换。它每天只轮换一次。
有人能帮我连续检查路径中的日志吗?如果超过了 20mb 的限制,就应该进行轮换。
我已将 crontab 配置为每 5 分钟运行一次。然而,我在运行它时收到以下错误:
/etc/logrotate.d/mule: line 1: /data/mule/logs/app.zip.log: Text file busy
/etc/logrotate.d/mule: line 2: rotate: command not found
/etc/logrotate.d/mule: line 3: minsize: command not found
/etc/logrotate.d/mule: line 4: missingok: command not found
/etc/logrotate.d/mule: line 5: noolddir: command not found
/etc/logrotate.d/mule: line 6: nomail: command not found
/etc/logrotate.d/mule: line 7: notifempty: command not found
/etc/logrotate.d/mule: line 8: create: command not found
/etc/logrotate.d/mule: line 9: compress: command not found
/etc/logrotate.d/mule: line 10: syntax error near unexpected token `}'
/etc/logrotate.d/mule: line 10: `}'
我已在 crontab 中添加了以下内容:-
*/5 * * * * /etc/logrotate.d/mule
答案1
Logrotate 是不是在后台运行的守护进程/服务。Logrotate 通过 cron 运行(查看/etc/crontab
或 中的某处/etc/cron.d/...
)。
您可以调整运行频率。但是它永远不会按您的意愿运行,即真正持续检查。
您必须测试它在每天运行多次时的行为(档案名称是什么等)。由于您没有使用该dateext
选项,因此您可能没有问题,它只会增加后缀(即 log.1.bz2、log.2.bz2 等)。