配置 logrotate 来缩小用户文件夹中的文件?

配置 logrotate 来缩小用户文件夹中的文件?

/home/{user}/ 中的所有用户都有一个特定的 error_log 文件,该文件可能会随着时间的推移而增长。

因此,我正在考虑使用 logrotate 来实现某种文件缩减:当文件达到 500kb 时,我们删除第一行以将其减少到 500kb 以下。

保留删除的内容并不重要,因此没有必要保留旧线路。

我看了一下 logrotate,然后找到了这个配置文件,但由于我是 LogRotate 的新手,所以我想知道它是否可以工作。

/home/*/error_log {
    daily
    size 500k
    rotate 0
    notifempty
    missingok
    copytruncate
}

感谢您的帮助 :)

答案1

好的,我找到了,而且它似乎有效:)

/home/*/error_log {
    daily
    size 500k
    rotate 1
    notifempty
    missingok
    copytruncate
    nocreate
    postrotate
        tail -n 50 error_log.1 > error_log
        rm -f error_log.1
    endscript
}

相关内容