使用 logrotate 删除文件

Iul*_*ian 15 linux logrotate

是否可以通过使用 logrotate 来删除目录中的日志文件而不实际旋转它们?我们有一个应用程序生成以下格式的日志:app.log.DD_MM_YYYY。我使用具有以下配置的 logrotate 失败:

/opt/log/app/app.log.* {
         rotate 0
         missingok
         nomail
}
Run Code Online (Sandbox Code Playgroud)

日志轮转可以做到这一点,还是我应该写一个脚本并将它放在 cron 中?

最好的,-尤利安

Dee*_*eeh 24

在这种情况下,您可能需要使用 postrotate。在下面的示例中,postrotate 将删除日志轮换后 1 天之前的文件,您可以随意修改它以满足您的需要。

/opt/log/app/app.log.* {
        missingok
        nomail
postrotate
        /usr/bin/find /opt/log/app/ -name "app.log.*" -type f -mtime +0 -exec rm {} \;
endscript
}
Run Code Online (Sandbox Code Playgroud)