我使用 logrotate 定期轮换日志文件(我的情况是每 1 小时检查一次日志文件大小,并在必要时使用 cron 进行轮换)。我遇到了一个严重的问题。
应该创建以下文件——user.log.gz.4、user.log.gz.3、user.log.gz.2、user.log.1、user.log。
但有时任何一个文件都会丢失,有时文件末尾缺少文件内容,有时文件内容重复。这很奇怪。请有人能帮我解决这个问题吗?
我的logrotate配置:
/var/log/project_name/*.log {
size 512M
copytruncate
rotate 30
compress
notifempty
missingok
}
答案1
这可能是由于某些进程在轮换日志时写入日志造成的,您需要delaycompress
在配置中包含一个声明,最好在“超级用户”或“ServerFault”中提出此类问题