【发布时间】:2020-04-20 20:06:31
【问题描述】:
我在 /var/log/foo/ 下有一堆日志文件;我想压缩整个文件夹,如果 文件夹的总大小超过了一定的限制。是否可以在不添加的情况下做到这一点 额外的 cron 作业。
【问题讨论】:
我在 /var/log/foo/ 下有一堆日志文件;我想压缩整个文件夹,如果 文件夹的总大小超过了一定的限制。是否可以在不添加的情况下做到这一点 额外的 cron 作业。
【问题讨论】:
【讨论】:
您不需要添加 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,否则它将删除旧文件。
结论:
祝你好运!
【讨论】: