大小规则在logrotate中不起作用

时间:2018-02-19 13:52:11

标签: linux ubuntu logrotate

我为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规则在这种情况下不起作用。你知道具体的原因吗?

2 个答案:

答案 0 :(得分:1)

  • size之后不应该有等号。
  • 如果您希望在文件长度大于100M时每小时轮换,则应使用maxsize代替size

因此,您应该尝试maxsize 100M而不是size=100M

答案 1 :(得分:0)

正如罗南所提到的,sizehourly是“矛盾的”。可以使用一个或另一个,但是很可能优先使用,所以您需要使用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每分钟运行一次,但是默认情况下,具有logrotatemaxsize设置的hourly没什么用。

还存在daily参数不起作用的logrotate版本。

正如罗南(Ronan)所述,在选项和值之间没有maxsize签名。