我为docker日志创建了一个log-rotate选项,它运行正常。这是配置文件
*root@aerogear:/var/lib/docker/containers/b8da13f8dc6cb642959103c23db2a02ef2c7291ae5f94625a92ac9329db1647e# cat /etc/logrotate.d/docker-container
/var/lib/docker/containers/*/*.log {
rotate 7
hourly
compress
size=100M
missingok
delaycompress
copytruncate
}*
似乎每小时的logrotate工作正常。但由于某些错误,此日志文件增加到18G,因为size=100M
规则在这种情况下不起作用。你知道具体的原因吗?
答案 0 :(得分:1)
size
之后不应该有等号。100M
时每小时轮换和,则应使用maxsize
代替size
。因此,您应该尝试maxsize 100M
而不是size=100M
。
答案 1 :(得分:0)
正如罗南所提到的,size
和hourly
是“矛盾的”。可以使用一个或另一个,但是很可能优先使用,所以您需要使用maxsize
。
在标准Ubuntu安装中,logrotate
每天运行一次。如果您查看cron安装,则会在logrotate
下看到cron.daily
:
prompt$ ls -l /var/cron.hourly
(nothing)
每天您都会看到logrotate
脚本:
prompt$ ls -l /var/cron.daily
...
-rwxr-xr-x 1 root root 372 May 6 2015 logrotate
...
这表明,hourly
的{{1}}设置将不会响应默认的Ubuntu设置上的logrotate
设置。当然,您可以更改它,例如使daily
每分钟运行一次,但是默认情况下,具有logrotate
或maxsize
设置的hourly
没什么用。
还存在daily
参数不起作用的logrotate
版本。
正如罗南(Ronan)所述,在选项和值之间没有maxsize
签名。