【问题标题】:logrotate an entire folder when total size exceeds a limit当总大小超过限制时,logrotate 整个文件夹
【发布时间】:2020-04-20 20:06:31
【问题描述】:

我在 /var/log/foo/ 下有一堆日志文件;我想压缩整个文件夹,如果 文件夹的总大小超过了一定的限制。是否可以在不添加的情况下做到这一点 额外的 cron 作业。

【问题讨论】:

    标签: ubuntu logrotate


    【解决方案1】:

    根据man pagelogrotate

    logrotate 旨在简化对生成的系统的管理 大量日志文件

    当谈到配置文件中的大小时,你会读到:

    尺寸

    仅当日志文件变得大于 size 字节时才会旋转

    【讨论】:

      【解决方案2】:

      您不需要添加 cron 作业并且您不能限制文件夹的大小。

      但是,Logrotate 正在做您需要的所有工作。默认情况下,Logrotate 脚本作为每日定期运行 (/etc/cron.daily/logrotate)。您可以添加自己的 logrotate 配置文件 (/etc/logrotate.d/your_logrotate_config),其中将包含限制。

      例如(/etc/logrotate.d/foo):

      /var/log/foo # logs path
      {
          rotate 4      # limit number of files
          size 10M      # limit to 10 Mb
          weekly        # if less than size limit, it will rotate by expired time
          compress      # compressed file
          delaycompress
      }
      

      如果 logrotate 脚本每天运行,如果文件大小大于 10Mb,它将被执行。文件夹(/var/log/foo)的最大日志文件限制为 4,否则它将删除旧文件。

      结论:

      1. 限制 logrotate 大小。
      2. 限制文件总数。
      3. 定义(使用 crontab)logrotate 脚本以短周期(例如每小时)运行。
      4. 压缩您的日志文件。

      祝你好运!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-20
        相关资源
        最近更新 更多