【问题标题】:automatic log rotation is not executing自动日志轮换未执行
【发布时间】:2017-08-31 05:02:38
【问题描述】:

这是我用于 docker 日志轮换的 conf 文件(docker-container) :

/var/lib/docker/containers/*/*.log {
  rotate 7
  hourly
  compress
  maxsize 10M
  missingok
  create root root
  delaycompress
  copytruncate
}

这是我运行日志旋转的命令:

sudo logrotate -fv /etc/logrotate.d/docker-container

当我手动运行命令日志时,会轮换, 但 1 小时后它不会自动旋转。 如何开启自动日志轮换?

【问题讨论】:

  • crontab 中有 logrotate 吗?它多久运行一次? crontab 中有什么命令?
  • 是的 logrotate 在 crontab 中,现在它每小时轮换一次。这是我的 crontab 配置:“0 */1 * * * /usr/sbin/logrotate /etc/logrotate.d/docker-container”

标签: logging docker crontab logrotate log-rotation


【解决方案1】:

你需要在这里检查两件事。

  1. 查看您的 logrotate 脚本是否配置为作为每日 cronjob 运行。如果将 logrotate 脚本放在 /etc/cron.daily 中,那么在 logrotate.conf 中指定 hourly 也没关系,它总是会在一天后执行轮换过程。将 /etc/cron.daily/logrotate 移动到 /etc/cron.hourly/logrotate。
  2. 查看日志文件的大小是否大于 10MB,因为您指定了 ma​​xsize

【讨论】:

    猜你喜欢
    • 2016-07-25
    • 2021-10-15
    • 2016-12-17
    • 2020-07-15
    • 2017-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-06
    相关资源
    最近更新 更多