Questions tagged «logrotate»

logrotate旨在简化对生成大量日志文件的系统的管理。它允许自动旋转,压缩,删除和邮寄日志文件。每个日志文件可能每天,每周,每月或当它变得太大时进行处理。




4
每天logrotate和大小?
如果使用“ size”和“ daily”参数指定了logrotate配置,哪个优先?这在哪里记录?我希望这些轮换以布尔OR操作的形式发生,即,如果日志是一天之久的,它们就会轮换,或者如果它们大于某个特定大小,它们也会轮换。但是,logrotate当前仅使用“ size”指令,并且似乎忽略了“ daily”指令。Logrotate设置为每小时运行一次。操作系统是linux,Red Hat和Debian的衍生产品。 另外,我首先指定“每日”,然后从文件开头指定“大小”。不确定顺序是否重要,但无论如何,必须首先在配置文件中... 谢谢!
40 logrotate 

3
什么时候在logrotate中使用delaycompress选项?
的手册页中logrotate说: It can be used when some program cannot be told to close its logfile and thus might continue writing to the previous log file for some time. 我对此感到困惑。如果程序不能被告知关闭其日志文件,它将续写永恒,而不是一段。如果压缩推迟到下一个循环,则即使在下一个循环之后,程序仍继续写入该文件。如何推迟解决问题? 我的理解是,copytruncate当无法告知程序关闭日志文件时,应使用该命令。我知道在进行复制时,写入日志文件的某些数据会丢失。 我当时在看沙发床的logrotate文件,它同时具有copytruncate和delaycompress选项。 /usr/local/couchdb-1.0.1/var/log/couchdb/*.log { weekly rotate 10 copytruncate delaycompress compress notifempty missingok } 似乎没有必要使用delaycompress何时copytruncate已经存在。我想念什么?
33 logrotate 

3
是否等效于Windows的LogRotate?
我们有一个庞大的日志文件,由供应商的应用程序编写。假设供应商不会做我们要求的任何事情。有什么办法可以旋转该日志文件吗?我们正在每小时大约写入300 MB的数据-我宁愿将其分成10 MB的块,并让任何超过一天或超过1000个文件的文件掉下来。 (我知道,我知道如何在不中断服务的情况下如何在Windows上旋转apache日志?) Aha-Chomp日志已死,但是搜索“ chomp logrotate”将我带到了新站点。我明天试试看,如果喜欢的话可以回复。我仍然想听听其他人正在使用的软件。

2
logrotate如何精确处理“每日”?
从我系统上的时间戳来看,当logrotate由cron运行时,logrotate会每天进行日志轮换。但是,如果我早于运行它,则不会旋转文件。logrotate如何知道是否应该旋转它们,保留历史记录或使用时间戳记?
30 linux  logrotate 

6
logrotate在哪里保存自己的日志?
我已经logrotate在EC2 AWS机器上运行旋转Apache日志。打包后,Apache日志通过s3fs保存到AWS S3。问题是我最近注意到我没有旋转日志。在S3中,我有第48-> 60天的旧日志,但是没有出现1-> 47。 我的问题是:logrotate在哪里保存自己的日志?s3fs可能存在某种问题,但是在执行任何操作之前我需要知道。我试图在某处找到日志,但找不到。 任何的想法?
25 logrotate 

3
logrotate不旋转日志
我有此logrotate配置,并且我在Ubuntu 10.04上运行。 /var/log/mysql/mysql-slow.log { daily rotate 3 compress notifempty missingok create 660 mysql adm postrotate if test -x /usr/bin/mysqladmin && \ /usr/bin/mysqladmin ping &>/dev/null then /usr/bin/mysqladmin flush-logs fi endscript } 我昨天将其放在/etc/logrotate.d中,今天日志没有旋转。 以下是我所做的事情: 我验证了日志确实在/var/log/mysql/mysql-slow.log中 以root用户身份运行时,mysqladmin行工作正常 mysql能够写入mysql-slow.log 当我这样做时: $ logrotate -d -f mysql-slow reading config file mysql-slow reading config info for /var/log/mysql/mysql-slow.log …
24 logrotate 


4
logrotate移动后如何继续将stdout重定向到文件?
我有一个简单的脚本,可以将大量日志输出到屏幕,然后将STDOUT通过管道传输到文件中以存储日志。由于此脚本运行时间很长,因此我需要旋转日志文件,以便将它们丢到更小,更易于管理的文件中。 我面临的问题是,一旦logrotate将当前日志文件移动到新的日志文件中,新创建的日志文件就不再填充日志了。似乎一旦删除了原始日志文件,它的文件处理程序就会丢失并且重定向将不再起作用。 我还发现此帖子与我有同样的问题,并声称可以使用>>而不是>重定向输出来修复它。我测试了他的解决方案,但对我来说不起作用。有谁知道如何保持重定向工作?



3
nginx记录到access.log.1而不是access.log,logrotate失败了吗?
我有一个Nginx实例,该实例设置为记录对/var/log/nginx/access.log的访问权限和对/var/log/nginx/errors.log的错误记录,但是每周logrotate运行时,文件就会移至* .log.1和新的* .log文件已创建,但是nginx继续登录到log.1文件而不是新的.log文件(并且未压缩任何内容)。我第一次注意到这一点,距日志轮转已经有3周了,日志越来越大。运行kill -HUP `cat /run/nginx.pid`使nginx重新开始记录到正确的位置,但是问题在下周再次开始。 令人沮丧的更重要原因是我将日志设置为通过rsyslog上传到Loggly,并且当nginx停止记录到文件时,我进行了rsyslog轮询,然后事情停止了上传,并且我没有收到任何警报。 我怀疑它与重启nginx或重新加载配置有关,因为它直到我进行配置更改并以我认为正常的方式重新加载配置后才启动。我尝试运行,kill -USR1 `cat /run/nginx.pid`但是文件继续记录到错误的位置,直到我运行为止kill -HUP `cat /run/nginx.pid`,我已经知道这不能解决问题。 知道发生了什么吗?我承认我不是logrotate或nginx管理方面的专家,但我的Google在这方面的工作使我失败了。 这是我的nginx logrotate脚本,让我知道您是否还想看到其他内容。除了定义输出位置之外,nginx.conf在日志记录方面没有什么特别之处。 /var/log/nginx/*.log { weekly missingok rotate 52 compress delaycompress notifempty create 0640 www-data adm sharedscripts prerotate if [ -d /etc/logrotate.d/httpd-prerotate ]; then \ run-parts /etc/logrotate.d/httpd-prerotate; \ fi \ endscript postrotate [ -s /run/nginx.pid ] …

1
除非日志超过一定大小,如何根据时间间隔轮换日志?
从logrotate的手册页中: minsize size 日志文件的大小大于大小字节时(而不是在额外指定的时间间隔(每天,每周,每月或每年)之前),将轮换它们。相关的大小选项与时间间隔选项相互排斥,除了它与时间间隔选项互斥外,其他类似的选项都使日志文件轮换而不考虑最后的轮换时间。使用minsize时,将同时考虑日志文件的大小和时间戳。 size size 日志文件大于大小字节时,将对其进行轮换。如果大小后跟k,则假定大小为千字节。如果使用M,则大小以兆字节为单位;如果使用G,则大小以千兆字节为单位。因此,大小100,大小100k,大小100M和大小100G均有效。 我将大小设置为5M,将间隔设置为每周一次,以为日志将每周轮换一次,如果日志的大小超过5M,则会发生其他轮换。但是发生的是,除非日志超过5M,否则日志不会旋转,这似乎是minsize应该做的。 我对手册的解释有误吗?如果日志超过500万,我如何使日志每周旋转一次? 编辑: 我不确定以下信息是否相关,只是为了补充: 我正在使用rsyslog对消息,安全,cron,maillog,引导进行主要日志记录。以下是倒数第二个日志的轮换日期和文件大小,其中如上所述设置了大小和间隔: filename rotation date file size messages 20130129 5.3MB secure 20130113 5.1kB cron 20130113 3.6kB maillog 20130113 1.1kB 可以看出,只有消息轮换了。 编辑2: 我应该向我核对一下man logrotate。他们实际上使用maxsize选项对其进行了升级。这应该是我在寻找的东西: 最大范围 的大小 ,当他们长得比规模更大的日志文件旋转甚至还指定的时间间隔(每日,每周,每月或每年)之前字节。相关的大小选项与时间间隔选项相互排斥,除了它与时间间隔选项互斥外,其他类似的选项都使日志文件轮换而不考虑最后的轮换时间。使用maxsize时,将同时考虑日志文件的大小和时间戳。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.