有办法做到吗?
答案1
在您的 logrotate.conf (或等效的 logrotate.d 文件中),将以下行更改为“
rotate 10
(您的数字可能不同)改为更大的数字。这将告诉它保存这么多天的日志。您可以将其设置为 36500,这将持续 100 年。
答案2
我一直在寻找这个,以便每天、每周和每月轮换我的数据库备份;因此我每天轮换文件,但保留文件进行每周轮换,每年轮换也是一样。
使用复制选项。摘自手册:
copy
复制 复制日志文件,但完全不更改原始文件。例如,可以使用此选项来创建当前日志文件的快照,或者当其他实用程序需要截断或解析文件时。使用此选项时,创建选项将不起作用,因为旧日志文件仍保留在原处。
答案3
暂且不论旋转涉及删除这一点……;-)
看起来您可以简单地将单词“copy”添加到相应的文件(可能在 /etc/logrotate.d 中)。例如,apache2 logrotate 脚本如下所示:
/var/log/apache2/*.log { 每周 missok 旋转 52 压缩 延时压缩 通知为空 复制 共享脚本 后旋转 如果 [ -f "`. /etc/apache2/envvars ; echo ${APACHE_PID_FILE:-/var/run/apache2.pid}`" ]; 然后 /etc/init.d/apache2 重新加载 > /dev/null 菲 结束语 }
尝试一下,看看它是否能达到你想要的效果。