我如何configurationlogrotate不旋转后删除我的日志文件?

有办法做到这一点?

在你的logrotate.conf(或者equivilent logrotate.d文件)中,改变“

rotate 10 

(你的号码可能不同)到一个更大的数字。 这将告诉它保持那么多天的日志。 你可以使它36500,这将持续100年。

我一直在寻找这个,以便每天,每周和每月轮换我的数据库备份; 所以我每天旋转文件,但保持该文件做每周轮换,每年轮换相同。

使用复制选项。 从手册:

 copy 

复制 制作日志文件的副本,但根本不要更改原始文件。 例如,可以使用此选项来创build当前日志文件的快照,或者当某个其他实用程序需要截断或分析文件时。 当使用此选项时,创build选项将不起作用,因为旧的日志文件保留在原位。

抛开旋转涉及删除的问题… 😉

它看起来像你可以简单地添加单词'复制'到适当的文件(可能在/etc/logrotate.d)。 例如,apache2 logrotate脚本如下所示:

 /var/log/apache2/*.log {
    每周
     missingok
    旋转52
    压缩
     delaycompress
     notifempty
    复制
     sharedscripts
     postrotate
        如果[-f“`。/ etc / apache2 / envvars; echo $ {APACHE_PID_FILE: -  / var / run / apache2.pid}`”]; 然后
             /etc/init.d/apache2 reload> / dev / null
        科幻
     endscript
 }

尝试一下,看看它是否做到了你想要的。