logrotate的三个大小相关的参数size/minisize

2020-02-15  本文已影响0人  CodingCode

logrotate的三个size相关的参数size/minisize/maxsize

最近在搭建rsyslog/logrotate的环境,重新整理了logrotate的三个size相关的参数。
主要是这些参数用的时候都要花点时间才能整明白,然后一段时间不用就全忘了,又得来一遍。

这里有一个概念一定要先弄清楚。

  1. logrotate是一个由cron调度的周期性的任务,它的调度周期和日志的分割周期有关系。
    缺省linux环境下logrotate是一个按天调度的任务(脚本logrotate被放置在/etc/cron.daily路径下面)。
  2. 这样如果一个日志的分割周期被定义为hourly,但是logrotate的调度周期还是daily的话,那么这个日志的hourly分割周期是无效的,因为logrotate才每天调度一次,导致日志的实际分割周期是天。
  3. 因此logrotate的调度周期不能比任何日志的分割周期长。
    假设最小的日志分割周期需求是hourly,那么logrotate的调度周期最多是一小时,只能更小。

举几个例子:

  1. size=100M, logrotate=daily
    如果每天生成50M日志文件,则两天分割一次;
    如果每天生成100M日志文件,则每天分割一次。
    如果每天生成200M日志文件,则还是每天分割一次,因为每天才调度一次呢。
  2. minsize=100M, logrotate=daily
    如果每天生成50M日志文件,则两天分割一次;
    如果每天生成100M日志文件,则每天分割一次。
    如果每天生成200M日志文件,则还是每天分割一次,因为每天才调度一次呢。
  3. maxsize=100M,logrotate=daily
    如果每天生成50M日志文件,则每天分割一次;
    如果每天生成100M日志文件,则每天分割一次。
    如果每天生成200M日志文件,则还是每天分割一次,因为每天才调度一次呢。
上一篇 下一篇

猜你喜欢

热点阅读