Logging
每日日誌輪換 - 保留原件
我正在開發託管 graylog 伺服器的 Ubuntu 14.04。在 /var/log/upstart/ 目錄中,我有一個包含所有傳入消息的純文字日誌——它被設置為每 3GB 輪換一次。但是,我之前遇到的問題是,每當它旋轉時,我的“graylog-server.log”都會重命名為“graylog-server.log.1”,這是我不喜歡的。我在配置中添加了“複製”關鍵字,現在文件名很好!但它也會將所有消息留在日誌文件中 - 我希望在它們被壓縮後清除它們。所以我的問題是…
- 是否有 config 關鍵字可以幫助我完成此操作?我看過它們,但我是 logrotate 的新手,所以也許我錯過了一些東西。
- 如果做不到這一點,有沒有辦法可以安排在輪換後立即清空日誌文件?我可能會丟幾條消息,但這並不會讓我太擔心。
謝謝!
配置:
/var/log/upstart/*server.* { size 3G missingok rotate 5 compress notifempty nocreate copy }
通常最新輪換的日誌文件 (
file.1
) 保持未壓縮,並在下一次輪換 (file.1
->file.2.gz
) 中被壓縮。如果要立即壓縮旋轉的日誌文件,可以添加
nodelaycompress
選項。
nodelaycompress
不要將前一個日誌文件的壓縮推遲到下一個循環週期(這會覆蓋delaycompress選項)。