每日日誌輪替 - 保留原始日誌

每日日誌輪替 - 保留原始日誌

我正在使用 Ubuntu 14.04 託管graylog 伺服器。在 /var/log/upstart/ 目錄中,我有一個包含所有傳入訊息的純文字日誌 - 它設定為每 3GB 輪換一次。然而,我之前遇到的問題是,每當它旋轉時,我的“graylog-server.log”就會被重命名為“graylog-server.log.1”,這是我不喜歡的。我在配置中新增了“copy”關鍵字,現在檔案名稱好了!但它也會將所有訊息留在日誌檔案中 - 我想在壓縮後將其清除。所以我的問題是...

  • 是否有 config 關鍵字可以幫助我完成此任務?我已經看過它們,但我是 logrotate 的新手,所以也許我錯過了一些東西。
  • 如果做不到這一點,有沒有辦法可以安排在輪換日誌檔案後立即清空日誌檔案?我可能會發幾條訊息,但這並不讓我太擔心。

謝謝!

配置:

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

答案1

通常,最新輪換的日誌檔案 ( file.1) 保持未壓縮狀態,並在下一次輪換 ( file.1-> file.2.gz) 中進行壓縮。

如果您想立即壓縮旋轉的日誌文件,您可以添加

nodelaycompress

選項。

man logrotate

節點壓縮
不要將前一個日誌檔案的壓縮推遲到下一個循環週期(這會覆蓋延遲壓縮選項)。

相關內容