Articles of logrotate

为什么logrotate每次都会导致Apache发生故障?

每次运行logrotate Apache / 2.4.7(Ubuntu)遇到seg故障并且不会重新启动: [Wed Sep 10 06:35:54.266018 2014] [mpm_event:notice] [pid 20599:tid 140630283466624] AH00493: SIGUSR1 received. Doing graceful restart [Wed Sep 10 06:35:54.885118 2014] [core:notice] [pid 20599] AH00060: seg fault or similar nasty error detected in the parent process 我的apache logrotate脚本如下所示: /var/log/apache2/*.log { daily missingok rotate 52 compress delaycompress notifempty create 640 root adm sharedscripts […]

logrotate不会压缩/ var / log / messages

随着时间的推移,我注意到/var/log某些日志,如auth , kern和messages越来越大。 我为他们做了logrotate条目: $ cat /etc/logrotate.d/auth.log /var/log/kern.log { rotate 5 daily } $ cat /etc/logrotate.d/kern.log /var/log/kern.log { rotate 5 daily } $ cat /etc/logrotate.d/messages /var/log/messages { rotate 5 daily postrotate /bin/killall -HUP syslogd endscript } 我也有compress选项启用: $ grep compress /etc/logrotate.conf # uncomment this if you want your log files compressed compress 这对于auth.log , kern.log和其他工作非常kern.log […]

Linux:如何对日志创build的新创build的日志执行特定的权限?

我注意到正在/var/log中创build的邮件日志正在被root(用户和组)所创build和拥有。 我写了一个监视日志的Nagios检查,为了让Nagios用户可以访问它,我给了other组的读取权限,那就是: chmod o+r /var/log/maillog 现在当我想到的时候,这只是一个日志文件,当日志文件被填满时,日志的旋转机制会重命名这个文件并打开一个新文件,但是新的maillog文件将不具有我允许的read right 。 所以我的问题是,我怎样才能确保日志旋转机制将创build所有新的mailllog文件与Nagios用户的权限? 提前致谢

手动旋转日志文件

我有一个运行Nginx的Ubuntunetworking服务器。 我从来没有configuration日志文件旋转,并刚刚发现了一些千兆字节的单片日志文件。 我已经根据这些提示configuration了日志循环 。 但是,我宁愿不等一个星期(我的轮换期)在轮换发生之前。 有没有办法强制立即旋转一个特定的文件,或由logrotateconfiguration指定的所有文件?

rsyslog与logrotate:重新加载rsyslog vs copytruncate

我正在使用默认的rsyslog和logrotate工具在Ubuntu 14上工作。 在默认的rsyslog logrotate /etc/logrotate.d/rsyslogconfiguration我看到以下内容: /var/log/syslog { rotate 7 daily missingok notifempty delaycompress compress postrotate reload rsyslog >/dev/null 2>&1 || true endscript } 据我所知,build议在所有logrotatescheme中使用copytruncate,因为它不会移动当前日志,而是截断日志,所以任何具有打开文件处理程序的进程都可以继续写入日志。 那么为什么使用rsyslog重载function的默认configuration呢?

Cronolog vs logrotate

你喜欢哪种日志旋转工具?

Mongodb – 正确的方式来旋转日志

Mongo 文档说,我可以: 使用-SIGUSR1信号,并获得旧的日志重命名和电stream切换 使用来自操作系统的logrotate 我希望操作系统的logrotate能够压缩旧文件并删除最老的文件,但是除了发送SIGUSR1之外,看不出有什么办法告诉mongod进程切换当前日志。 所以我写了 /var/log/mongodb/*.log { daily rotate 5 compress dateext missingok notifempty sharedscripts postrotate /usr/bin/killall -SIGUSR1 mongod /usr/bin/killall -SIGUSR1 mongos endscript } 到/etc/logrotate.d/mongo。 现在,从logrotate和空日志文件(如mongodb.log.2013-09-18T23-49-44获取名为logfiles作为SIGUSR1切换的痕迹。 如何摆脱后者?

Logrotate不会删除旧的日志

由于某些原因,旧的日志文件不会被删除。 示例与Apache 什么conf文件说: $ cat /etc/logrotate.d/apache2 /var/log/apache2/*.log { weekly missingok rotate 2 compress delaycompress notifempty create 640 root adm sharedscripts postrotate /etc/init.d/apache2 reload > /dev/null endscript } 日志文件夹的(裁剪)内容: # ls /var/log/apache2/ access.log error.log.26.gz other_vhosts_access.log.20.gz access-ssl.log.14.gz access.log.1 error.log.27.gz other_vhosts_access.log.21.gz access-ssl.log.15.gz access.log.2.gz error.log.28.gz other_vhosts_access.log.22.gz access-ssl.log.16.gz access.log.3.gz error.log.2.gz other_vhosts_access.log.23.gz access-ssl.log.17.gz […] 其实有很多: # ls /var/log/apache2/ | wc -l […]

Logrotate成功,原始文件恢复原始大小

有没有人有任何问题之前使用logrotate导致日志文件旋转,然后回到原来的大小? 这是我的发现: Logrotate脚本: /var/log/mylogfile.log { 旋转7 日常 压缩 olddir / log_archives missingok notifempty copytruncate } Logrotate的详细输出: 将/var/log/mylogfile.log复制到/log_archives/mylogfile.log.1 截断/var/log/mylogfile.log 使用/ bin / gzip压缩日志 删除旧的日志/log_archives/mylogfile.log.8.gz 截断发生后的日志文件 [root @ server〜]#ls -lh /var/log/mylogfile.log -rw-rw-r– 1 part1 part1 0 Jan 11 17:32 /var/log/mylogfile.log 字面上秒以后: [root @ server〜]#ls -lh /var/log/mylogfile.log -rw-rw-r– 1 part1 part1 3.5G Jan 11 17:32 /var/log/mylogfile.log RHEL版本: [root […]

我如何将许多日志文件旋转到每个旋转不同的子目录?

我有一个包含许多日志文件的目录,所有这些我都想每天轮换。 为了组织的目的,我希望能够将轮转的日志移动到按date命名的不同目录(或子目录),保持日志的最后一周。 我可以使用logrotate来实现大部分的这种转换文件,甚至将它们移动到一个单一的目录使用olddir指令,但我很难find一个解决scheme,使每个单独的子目录。 我怎样才能做到这一点? Logs to rotate: /var/log/example/* Desired target directories (keeping a week): /var/log/example/20121006/* [ … ] /var/log/example/20121012/*