- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我们将 syslogd 设置为将来自几个不同服务器的所有日志发送到一个服务器中,全部发送到一个名为/var/log/centrallogs 的文件夹中。
我们为此目录使用以下日志轮换配置:
/etc/logrotate.d/centrallogs:
/var/log/centrallogs/*log {
rotate 5
compress
missingok
notifempty
sharedscripts
postrotate
/etc/init.d/httpd restart > /dev/null 2>/dev/null || true
endscript
}
在测试中(使用 logrotate -d centrallogs)LR 似乎没有尝试进行任何旋转。
这是输出(注意,我已经重命名了站点,但这是我所做的唯一更改):
rotating pattern: /var/log/centrallogs/*log 1048576 bytes (5 rotations)
empty log files are not rotated, old logs are removed
considering log /var/log/centrallogs/site1_access.log
log needs rotating
considering log /var/log/centrallogs/site1_error.log
log does not need rotating
considering log /var/log/centrallogs/site2_access.log
log needs rotating
considering log /var/log/centrallogs/site2_error.log
log needs rotating
considering log /var/log/centrallogs/site3_access.log
log needs rotating
considering log /var/log/centrallogs/site3_error.log
log needs rotating
rotating log /var/log/centrallogs/site1_access.log, log->rotateCount is 5
dateext suffix '-20150908'
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
renaming /var/log/centrallogs/site1_access.log.5.gz to /var/log/centrallogs/site1_access.log.6.gz (rotatecount 5, logstart 1, i 5),
renaming /var/log/centrallogs/site1_access.log.4.gz to /var/log/centrallogs/site1_access.log.5.gz (rotatecount 5, logstart 1, i 4),
renaming /var/log/centrallogs/site1_access.log.3.gz to /var/log/centrallogs/site1_access.log.4.gz (rotatecount 5, logstart 1, i 3),
renaming /var/log/centrallogs/site1_access.log.2.gz to /var/log/centrallogs/site1_access.log.3.gz (rotatecount 5, logstart 1, i 2),
renaming /var/log/centrallogs/site1_access.log.1.gz to /var/log/centrallogs/site1_access.log.2.gz (rotatecount 5, logstart 1, i 1),
renaming /var/log/centrallogs/site1_access.log.0.gz to /var/log/centrallogs/site1_access.log.1.gz (rotatecount 5, logstart 1, i 0),
rotating log /var/log/centrallogs/site2_access.log, log->rotateCount is 5
dateext suffix '-20150908'
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
renaming /var/log/centrallogs/site2_access.log.5.gz to /var/log/centrallogs/site2_access.log.6.gz (rotatecount 5, logstart 1, i 5),
renaming /var/log/centrallogs/site2_access.log.4.gz to /var/log/centrallogs/site2_access.log.5.gz (rotatecount 5, logstart 1, i 4),
renaming /var/log/centrallogs/site2_access.log.3.gz to /var/log/centrallogs/site2_access.log.4.gz (rotatecount 5, logstart 1, i 3),
renaming /var/log/centrallogs/site2_access.log.2.gz to /var/log/centrallogs/site2_access.log.3.gz (rotatecount 5, logstart 1, i 2),
renaming /var/log/centrallogs/site2_access.log.1.gz to /var/log/centrallogs/site2_access.log.2.gz (rotatecount 5, logstart 1, i 1),
renaming /var/log/centrallogs/site2_access.log.0.gz to /var/log/centrallogs/site2_access.log.1.gz (rotatecount 5, logstart 1, i 0),
rotating log /var/log/centrallogs/site2_error.log, log->rotateCount is 5
dateext suffix '-20150908'
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
renaming /var/log/centrallogs/site2_error.log.5.gz to /var/log/centrallogs/site2_error.log.6.gz (rotatecount 5, logstart 1, i 5),
renaming /var/log/centrallogs/site2_error.log.4.gz to /var/log/centrallogs/site2_error.log.5.gz (rotatecount 5, logstart 1, i 4),
renaming /var/log/centrallogs/site2_error.log.3.gz to /var/log/centrallogs/site2_error.log.4.gz (rotatecount 5, logstart 1, i 3),
renaming /var/log/centrallogs/site2_error.log.2.gz to /var/log/centrallogs/site2_error.log.3.gz (rotatecount 5, logstart 1, i 2),
renaming /var/log/centrallogs/site2_error.log.1.gz to /var/log/centrallogs/site2_error.log.2.gz (rotatecount 5, logstart 1, i 1),
renaming /var/log/centrallogs/site2_error.log.0.gz to /var/log/centrallogs/site2_error.log.1.gz (rotatecount 5, logstart 1, i 0),
rotating log /var/log/centrallogs/site3_access.log, log->rotateCount is 5
dateext suffix '-20150908'
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
renaming /var/log/centrallogs/site3_access.log.5.gz to /var/log/centrallogs/site3_access.log.6.gz (rotatecount 5, logstart 1, i 5),
renaming /var/log/centrallogs/site3_access.log.4.gz to /var/log/centrallogs/site3_access.log.5.gz (rotatecount 5, logstart 1, i 4),
renaming /var/log/centrallogs/site3_access.log.3.gz to /var/log/centrallogs/site3_access.log.4.gz (rotatecount 5, logstart 1, i 3),
renaming /var/log/centrallogs/site3_access.log.2.gz to /var/log/centrallogs/site3_access.log.3.gz (rotatecount 5, logstart 1, i 2),
renaming /var/log/centrallogs/site3_access.log.1.gz to /var/log/centrallogs/site3_access.log.2.gz (rotatecount 5, logstart 1, i 1),
renaming /var/log/centrallogs/site3_access.log.0.gz to /var/log/centrallogs/site3_access.log.1.gz (rotatecount 5, logstart 1, i 0),
rotating log /var/log/centrallogs/site3_error.log, log->rotateCount is 5
dateext suffix '-20150908'
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
renaming /var/log/centrallogs/site3_error.log.5.gz to /var/log/centrallogs/site3_error.log.6.gz (rotatecount 5, logstart 1, i 5),
renaming /var/log/centrallogs/site3_error.log.4.gz to /var/log/centrallogs/site3_error.log.5.gz (rotatecount 5, logstart 1, i 4),
renaming /var/log/centrallogs/site3_error.log.3.gz to /var/log/centrallogs/site3_error.log.4.gz (rotatecount 5, logstart 1, i 3),
renaming /var/log/centrallogs/site3_error.log.2.gz to /var/log/centrallogs/site3_error.log.3.gz (rotatecount 5, logstart 1, i 2),
renaming /var/log/centrallogs/site3_error.log.1.gz to /var/log/centrallogs/site3_error.log.2.gz (rotatecount 5, logstart 1, i 1),
renaming /var/log/centrallogs/site3_error.log.0.gz to /var/log/centrallogs/site3_error.log.1.gz (rotatecount 5, logstart 1, i 0),
renaming /var/log/centrallogs/site1_access.log to /var/log/centrallogs/site1_access.log.1
renaming /var/log/centrallogs/site2_access.log to /var/log/centrallogs/site2_access.log.1
renaming /var/log/centrallogs/site2_error.log to /var/log/centrallogs/site2_error.log.1
renaming /var/log/centrallogs/site3_access.log to /var/log/centrallogs/site3_access.log.1
renaming /var/log/centrallogs/site3_error.log to /var/log/centrallogs/site3_error.log.1
running postrotate script
running script with arg /var/log/centrallogs/*log : "
/etc/init.d/httpd restart > /dev/null 2>/dev/null || true
"
compressing log with: /bin/gzip
removing old log /var/log/centrallogs/site1_access.log.6.gz
error: error opening /var/log/centrallogs/site1_access.log.6.gz: No such file or directory
我也尝试过使用 delaycompress,因为有些人已经成功了。
LR 可以很好地轮换日志,只是根本不对它们执行压缩。
查看该输出中唯一听起来有错误的部分:
error: error opening /var/log/centrallogs/site1_access.log.6.gz: No such file or directory
我认为 LR 可能会被吓坏,因为它没有要删除的 .gz 文件,所以我创建了所需的日志文件的每个变体,它运行了一整夜,清除了 gz,旋转,但仍然没有压缩。
这让我有点生气,我们将不胜感激。
最佳答案
根据日志,它看起来像是在运行/bin/gzip,通常 gzip 会压缩所有列出的文件 - 跳过任何丢失的文件 - 没有问题。请注意,如果结果较大,gzip 不会强制压缩文件,这很容易发生在非常小的文件上。 “error: error [..]”消息可能不是来自 gzip,它倾向于在错误前加上“gzip: :”。
检查文件大小以查看它们是否很小(或者更具体地说,如果 gzip 认为压缩它们会使它们变大)。
notifempty 的类似评论。
delaycompress 只是意味着您可以拥有 .1 .2 .3 .4.gz .5.gz 等。 不是 compress 工作所必需的,并且实际上使它跳过压缩最近的几个文件。您可以同时使用两者,或者只使用压缩,而不是单独使用 delaycompress。
奇怪的是你没有频率/大小 { daily |每周 |大小 ___ } 在你的文件中。我从来没有尝试过在没有它们的情况下使用它们。
关于linux - logrotate 不压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32483169/
我正在为某些 Web 应用程序编写自己的 logrotate 配置: /home/me/public_html/logs/*.log { daily missingok rot
我查看了 logrotate.conf 示例以及/etc/logrotate.d 目录中的所有内容。我无法在这些文件中找到有关变量的文档。 我正在尝试创建一个配置文件来轮换我们正在编写的应用程序的日志
我查看了手册页,在这里搜索,用谷歌搜索等等。 有人知道 logrotate 使用的默认大小吗? 您可以引用什么引用来说明默认大小? 我知道我可以在我的配置文件中专门设置大小。 最佳答案 没有默认大小,
我查看了手册页,在这里搜索,用谷歌搜索等等。 有人知道 logrotate 使用的默认大小吗? 您可以引用什么引用来说明默认大小? 我知道我可以在我的配置文件中专门设置大小。 最佳答案 没有默认大小,
我正在使用 logrotate,我可以看到我通过包管理器安装的东西在这里安装了东西: /etc/logrotate.d/ 例如我有文件 nginx其中包含这个 /var/log/nginx/*.log
//, 这个问题有点模棱两可。 场景如下: 我有以下三个扩展名的日志,但我当前的规则仅适用于 *.log 文件: .1 .log .txt 另外,因为 Tomcat 正在轮换日志,所以我有以下内容:
因此,设置最大日志轮换大小似乎只有在 uwsgi.ini 而不是/etc/logrotate.d/uwsgi 中设置时才有效(即使使用/etc/logrotate.d/uwsgi 文件手动测试 log
我有一个自定义应用程序 (myApp),它正在将日志写入文件“/var/log/myApp”。我可以看到正在写入的日志并且它工作正常。现在我正在尝试为此文件设置 logrotate,为此我创建了一个配
CentOS v.7 Logrotate v.3.8.6 我将 logrotate 设置为在文件达到 5M 时旋转,但它会忽略它,如果我每天添加,无论大小如何,它都会每天旋转,我尝试使用 size、m
logrotate 没有旋转我的日志 要验证日志文件不为空: # ls -laFh /var/log/cisco-meraki.log -rw-r----- 1 root adm 2.8G Sep
我正在使用 logrotate管理我的日志。因为我必须管理一堆日志文件。我的 logrotate 配置看起来像 /log/typeA*.log /log/typeB*.log /log/typeC*.
我想使用 logrotate 来管理我的日志。我发现压缩选项非常有用。但是 gzip(默认压缩)对我的日志来说并不是最好的(实验上,其他压缩的效率可以提高两倍到五倍)。 是否可以更改压缩类型?我没有找
为什么 logrotate 会删除文件而不是旋转它? 这是配置: /var/log/httpd/*log { size 1G missingok notifempty
美好的一天! 我尝试使用 linux 的 logrotate 工具来轮换我的 tomcat 日志。我在/etc/logrotate.d下创建了一个名为tomcat的脚本 /path/to/tomcat
我正在尝试在 RHEL 中为 tomcat6 日志配置 logrotate。目前,logrotate 对 catalina.out 日志工作正常,它被正确地旋转和压缩。 问题在于其中包含日期的文件,例
我有一个每天运行一次的 logrotate 策略,因为它是 cron.daily 的一部分。我想在达到一定大小时触发文件的 logrotate。所以我正在寻找一种方法来使文件大小成为触发器,而不是每小
我有一组针对不同进程的特定日志。考虑 Log_name1.Date.0.log(当前日期最早的)-----> Log_name1.Date.1.log Log_name1.Date.2.log Log
我正在尝试在我的 Ubuntu 服务器上为 apache 设置 logrotate,但是在尝试测试轮换时我不断收到以下错误: logrotate_script: 4: logrotate_script
我有一个测试应用程序,它每小时运行一次,并在每次执行时使用唯一的日志文件。要清理日志,已设置以下 logrotate 配置: { # Daily rotation with 1 wee
我有一个 Rust 应用程序,它将日志重定向到某个目录。为了合并滚动策略,我正在使用 logrotate linux 实用程序。为此,我在/etc/logrotate.d 中创建了我的应用程序特定配置
我是一名优秀的程序员,十分优秀!