Questions tagged «logrotate»

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

5
Logrotate不起作用
我试图让logrotate在我的VPS上工作,以每周轮换我的apache文件。当前apache2配置文件的内容是这样的。 "/var/www/user/site.com/logs/*.log" { weekly missingok rotate 8 compress delaycompress notifempty create 640 root adm sharedscripts postrotate /etc/init.d/apache2 reload > /dev/null endscript } 我已经离开它两个星期了,据我所知,没有任何变化。当我从命令行模拟它时,将得到以下输出。 user@geneva:/var/lib/logrotate$ /usr/sbin/logrotate -d /etc/logrotate.d/apache2 reading config file /etc/logrotate.d/apache2 reading config info for "/var/www/user/site.com/logs/*.log" Handling 1 logs rotating pattern: "/var/www/user/site.com/logs/*.log" weekly (8 rotations) empty log files are not …
18 logrotate 

5
Logrotate:旋转非日志文件?
我有一个备份脚本,可以压缩各种文件和目录并创建.tgz档案。文件被命名,例如 ... backup_2010-10-28.tar.gz backup_2010-10-29.tar.gz backup_2010-10-30.tar.gz backup_2010-10-31.tar.gz backup_2010-11-01.tar.gz 我要管理这些文件,以便仅保留最后5个备份,并删除较旧的文件。 我可以使用logrotate做到这一点吗?它们不是日志文件,已经被压缩。它们位于/ root而不位于/ var / log中-我仍然可以使用它吗? 谢谢

5
带有logrotate的rsyslog:重新加载rsyslog与copytruncate
我正在使用默认的rsyslog和logrotate实用程序在Ubuntu 14上工作。 在默认的rsyslog logrotate /etc/logrotate.d/rsyslog配置中,我看到以下内容: /var/log/syslog { rotate 7 daily missingok notifempty delaycompress compress postrotate reload rsyslog >/dev/null 2>&1 || true endscript } 据我了解,建议在所有logrotate方案中使用copytruncate,因为它不会移动当前日志,而是会截断日志,因此任何使用打开文件处理程序的进程都可以继续对其进行写入。 那么如何使用rsyslog重载功能代替默认配置呢?

3
文件名的首选格式,包括时间戳
众所周知,“ unix”在文件中可以包含除“ /”和“ \ 0”以外的任何内容,但是sysadmins的使用偏好通常要小得多,这主要是因为没有人喜欢使用空格作为输入...以及许多东西“:”和“ @”等特殊含义。 最近,我还看到了在文件名中使用时间戳的另一种情况,并且在使用不同的格式进行播放以使其“更好”之后,我发现我会尝试找到“最佳实践”,而没有发现我只想问一下这里,看看人们的想法。 可能的“常见”解决方案(p =前缀和s =后缀): syslog / logrotate / DNS格式: p-%Y%m%d-suffix = prefix-20110719-s p-%Y%m%d%H%M-suffix = prefix-201107191732-s p-%Y%m%d%H%M%S-suffix = prefix-20110719173216-s 优点: 这是“常见的”,因此“足够好”可能比“最佳”好。 没有奇怪的字符。 容易将“日期/时间斑点”与其他所有内容区分开。 缺点: 仅日期的版本不容易阅读,包括时间在内使我流血,秒也只是“笑”。 假设TZ。 ISO-8601-格式 p-%Y-%m-%d-s = p-2011-07-19-s p-%Y-%m-%dT%H:%M%z-s = p-2011-07-19T17:32-0400-s p-%Y-%m-%dT%H:%M:%S%z-s = p-2011-07-19T17:32:16-0400-s p-%Y-%m-%dT%H:%M:%S%z-s = p-2011-07-19T23:32:16+0200-s 优点: 没空间了。 考虑到TZ。 被人类阅读“不错”(仅日期对良好)。 可以由$(date --iso …

2
Logrotate:如何在postrotate中访问输出文件
我Nginx每天轮换日志(带有dateext)。轮换后,我想解析刚刚过去的一天的文件,并用Nginx服务器返回的错误数量编译一封电子邮件。 如何访问的postrotate / endscript部分中的输出文件logrotate?
15 logrotate 

3
logrotate何时及如何在Ubuntu 10.04下运行?
我是sysadmining的新手,有几个问题: 系统在哪里以及如何启动logrotate程序? 我的“每日”轮换日志文件在一天的什么时间轮换? prerotate命令是否对* .log条目中匹配的每个日志文件运行? 谢谢
15 ubuntu  logrotate 

1
Linux:如何对由日志轮换创建的新创建的日志强制执行特定权限?
我注意到正在创建的邮件日志是/var/log由root(用户和组)创建和拥有的。我写了一个Nagios检查来监视日志,为了允许Nagios用户访问它,我给了other组读取权限,即: chmod o+r /var/log/maillog 现在,当我考虑它时,这只是一个日志文件,当日志文件被填满时,日志旋转机制将重命名该文件并打开一个新maillog文件,但是新文件将没有read write我允许的文件。 所以我的问题是,如何确保日志轮换机制将为Nagios用户创建具有正确权限的所有新mailllog文件? 提前致谢

1
为什么logrotate每次都会导致Apache段错误?
每次logrotate运行Apache / 2.4.7(Ubuntu)时都会遇到段错误,并且不会重新启动: [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 …

4
旋转后,MySQL没有将错误记录到新文件中吗?
问题已解决,但我正在写下以供将来参考。 /root/.my.cnf [mysqladmin] user = root password = pa$$w0rd /etc/logrotate.d/mysql /var/log/mysql-slow.log /var/log/mysqld.log { daily rotate 7 dateext compress missingok #notifempty sharedscripts create 644 mysql mysql postrotate /usr/bin/mysqladmin flush-logs endscript } logrotate 从命令行运行时运行正常: # logrotate -v -f /etc/logrotate.d/mysql 但是在凌晨4点从cron运行时,它不起作用日志文件已旋转,但MySQL不会将错误记录到新创建的文件中: -rw-r--r-- 1 mysql mysql 0 Aug 7 10:13 /var/log/mysqld.log -rw-r--r-- 1 mysql …
14 mysql  logrotate 

5
遍历.gz日志文件
是否存在神奇的外壳管道,可以轻松地通过一堆.gz日志文件进行grep,而无需将其提取到某处? .gz文件是Apache日志,是日志轮换的结果。我想快速检查一下过去曾经多次访问某些URI。

2
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 …
14 linux  logrotate 

2
使用logrotate删除文件
是否可以通过使用logrotate而不实际旋转目录文件来删除目录中的日志文件?我们有一个应用程序,它以以下格式生成日志:app.log.DD_MM_YYYY。我无法使用以下配置进行logrotate: /opt/log/app/app.log.* { rotate 0 missingok nomail } 可以进行日志轮换吗?还是应该只编写一个脚本并将其放在cron中? 最好,-尤利安语
13 linux  logrotate 

5
Mongodb-轮换日志的正确方法
Mongo 文档说我可以: 使用-SIGUSR1信号并重命名旧日志并进行当前切换 从OS使用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-44SIGUSR1切换的痕迹。如何摆脱后者?

4
旋转Nginx日志的正确方法
我想实现nginx日志的轮换: 无需任何额外的软件即可工作(即,如果没有“ logrotate”,则最好) 将根据日期创建旋转文件 最好的方法就像PostgreSQL一样-即在它的log_filename配置变量中,我可以指定strftime风格的%Y-%m-%d,它将自动更改登录日期(或时间)的更改。 Apache的另一种方法-通过管道将日志发送到rotatelogs程序。 据我所能搜索-没有这种方法。我所能做的就是将logrotate和dateext选项一起使用,但是它有其自身的缺点,我宁愿使用类似PostgreSQL中的| rotatelogs或log_filename的功能。

2
如何将许多日志文件每次旋转到另一个子目录中?
我有一个包含许多日志文件的目录,我想每天轮流浏览所有这些文件。出于组织目的,我希望能够将轮换后的日志移至按日期命名的其他目录(或子目录),并保留日志的最后一周。 我可以使用logrotate通过就地旋转文件甚至使用olddir指令将它们移动到单个不同的目录来实现大部分功能,但是我很难找到一种解决方案,该解决方案可以使每个旋转创建单个子目录。我该如何实现?: Logs to rotate: /var/log/example/* Desired target directories (keeping a week): /var/log/example/20121006/* [ ... ] /var/log/example/20121012/*

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.