logrotate删除文件

logrotate删除文件

在我的其中一台服务器上,/etc/logrotate.d/apache2 中有以下内容

/var/log/apache2/*.log {
        weekly
        missingok
        rotate 52
        compress
        delaycompress
        notifempty
        create 640 root adm
        sharedscripts
        postrotate
                if [ -f "`. /etc/apache2/envvars ; echo ${APACHE_PID_FILE:-/var/run/apache2.pid}`" ]; then
                        /etc/init.d/apache2 reload > /dev/null
                fi
        endscript
}
~                  

我观察到的是,我每周都会收到一个 gz 文件。我不想保存它,只想在 15 天后删除它(或大小为 100M),该怎么做?我需要在上面添加什么?这是一台 Ubuntu 10.04 服务器。

答案1

rotate 52表示要保留最后 52 条日志。将其设置为0可删除旧日志。

您需要添加size 100M以使其以 100MB 的速度旋转。

至于 15 天部分,您可以选择每日、每周或每月。您可以将其与大小选项相结合,这样当文件超过 100MB 或时间到时,它就会轮换。

答案2

更改旋转选项。目前保留 52 周。

答案3

compress在配置文件中删除或者注释掉。

相关内容