Linux Logrotate 想要用年月日當檔名

Linux 的 Logrotate 預設都是用 1、2、3... 然後自動壓縮、刪除~~

但是檔名若想要用年月日結尾,要怎麼設定呢?

Linux Logrotate 想要用年月日當檔名

使用 Apache2 來當範例

於 /etc/logrotate.d/apache2 的設定內容加上:

  • dateext # log 檔名後面加上西元的年月日
  • dateyesterday # 使用昨天的日期當更改後的檔名

dateext 就可以在 log 檔名後面加上 西元的年月日,但是這會是轉換當天的日期,所以需要加上 dateyesterday 這個參數

舉例:

2023/12/11 的 Log,使用 dateext 會變成下述:

  • /var/log/apache2/access.log-20231211.gz # 內容是 2023/12/10 的內容

加上 dateyesterday 會變成下述:

  • /var/log/apache2/access.log-20231210.gz # 內容是 2023/12/10 的內容

若要指定日期格式,可以在加上這個參數:dateformat -%Y%m%d

修改 logrotate 要 Debug (-d = debug)可用:

  • sudo logrotate -d /etc/logrotate.d/apache2
  • sudo logrotate -d /etc/logrotate.conf # 針對所有的測試
  • 更多說明可見:man logrotate

相關網頁

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料