仅使用 logrotate 删除文件

use*_*765 6 logrotate

我有一个应用程序,它每小时轮换自己的日志文件。每小时我都想删除所有超过n几天的文件。logrotate由于商业政策,我必须使用此方法。

那么logrotate每小时运行这个命令相当于什么呢?

find /var/log/app -name "*.old" -mtime +1 -exec rm -f {} \;
Run Code Online (Sandbox Code Playgroud)

小智 3

这是一种可能性,你需要测试:

cat /etc/logrotate.d/customapp

/var/log/app/*.old {
    daily
    missingok
    rotate 0
    notifempty
}
Run Code Online (Sandbox Code Playgroud)

为什么旋转 0 ?

如果 count 为 0,则旧版本将被删除而不是轮换。(来源:男人)

  • 不,这行不通。logrotate 只会删除它创建(旋转)的文件。来源:测试,因为文档没有涵盖它。 (8认同)