每日日志轮换 - 保留原始

每日日志轮换 - 保留原始

我正在使用 Ubuntu 14.04 托管一个 graylog 服务器。在 /var/log/upstart/ 目录中,我有一个纯文本日志,记录所有收到的消息 - 它设置为每 3GB 轮换一次。但是,我之前遇到的问题是,每当它轮换时,我的“graylog-server.log”都会被重命名为“graylog-server.log.1”,我不喜欢这个名字。我在配置中添加了“copy”关键字,现在文件名就好了!但它也会将所有消息留在日志文件中 - 我希望在压缩后清除它们。所以我的问题是...

  • 是否有配置关键字可以帮助我实现此目的?我看过它们,但我对 logrotate 还不熟悉,所以也许我错过了一些东西。
  • 除此之外,有没有办法安排日志文件在轮换后立即清空?我可能会丢掉几条消息,但这并不让我太担心。

谢谢!

配置:

/var/log/upstart/*server.* {
        size 3G
        missingok
        rotate 5
        compress
        notifempty
        nocreate
        copy
}

答案1

通常最新的轮换日志文件( )保持未压缩状态,并在下一次轮换( -> )file.1时压缩。file.1file.2.gz

如果你想立即压缩轮换日志文件,你可以添加

nodelaycompress

选项。

man logrotate

节点延迟压缩
不要将前一个日志文件的压缩推迟到下一个轮换周期(这将覆盖延时压缩选项)。

相关内容