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