有办法做到这一点?
在你的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 }
尝试一下,看看它是否做到了你想要的。