Guilherme Asked: 2009-08-05 20:32:14 +0800 CST2009-08-05 20:32:14 +0800 CST 2009-08-05 20:32:14 +0800 CST 我如何配置 logrotate 在轮换后不删除我的日志文件? 772 有办法做到这一点吗? logging 3 个回答 Voted Best Answer jedberg 2009-08-05T20:45:39+08:002009-08-05T20:45:39+08:00 在您的 logrotate.conf(或等效的 logrotate.d 文件)中,更改“ rotate 10 (您的号码可能不同)到更大的号码。这将告诉它保留那么多天的日志。您可以将其设为 36500,这将持续您 100 年。 Feida Kila 2013-11-23T02:32:07+08:002013-11-23T02:32:07+08:00 我一直在寻找这个,以便每天、每周和每月轮换我的数据库备份;所以我每天轮换文件,但保持文件每周轮换,每年轮换也是如此。 使用复制选项。从手册: copy 复制 日志文件的副本,但根本不要更改原始文件。例如,此选项可用于制作当前日志文件的快照,或者当其他一些实用程序需要截断或解析文件时。使用此选项时,create 选项将不起作用,因为旧日志文件保留在原处。 Justin Ellison 2009-08-05T20:45:54+08:002009-08-05T20:45:54+08:00 抛开轮换涉及删除的观点...... ;-) 看起来您可以简单地将“复制”一词添加到适当的文件中(可能在 /etc/logrotate.d 中)。例如,一个 apache2 logrotate 脚本如下所示: /var/log/apache2/*.log { 每周 失踪的 旋转 52 压缩 延迟压缩 通知空 复制 共享脚本 后旋转 if [ -f "`./etc/apache2/envvars ; echo ${APACHE_PID_FILE:-/var/run/apache2.pid}`" ]; 然后 /etc/init.d/apache2 重新加载 > /dev/null 菲 尾注 } 试试看,看看它是否符合您的要求。
在您的 logrotate.conf(或等效的 logrotate.d 文件)中,更改“
(您的号码可能不同)到更大的号码。这将告诉它保留那么多天的日志。您可以将其设为 36500,这将持续您 100 年。
我一直在寻找这个,以便每天、每周和每月轮换我的数据库备份;所以我每天轮换文件,但保持文件每周轮换,每年轮换也是如此。
使用复制选项。从手册:
复制 日志文件的副本,但根本不要更改原始文件。例如,此选项可用于制作当前日志文件的快照,或者当其他一些实用程序需要截断或解析文件时。使用此选项时,create 选项将不起作用,因为旧日志文件保留在原处。
抛开轮换涉及删除的观点...... ;-)
看起来您可以简单地将“复制”一词添加到适当的文件中(可能在 /etc/logrotate.d 中)。例如,一个 apache2 logrotate 脚本如下所示:
试试看,看看它是否符合您的要求。