Linux By Cathy

Logrotate:避免日誌塞爆硬碟的自動化工具

日誌輪替策略

Linux 系統每天產生大量 Log,logrotate 是管理它們的標準工具。設定檔位於 /etc/logrotate.d/

關鍵設定

  • rotate 7:保留 7 份舊日誌。
  • daily/weekly:輪替頻率。
  • compress:使用 gzip 壓縮舊日誌。
  • postrotate:最重要的一環。輪替後 (檔案更名),必須通知服務 (如 Nginx) 重新開啟 Log 檔,否則服務會繼續寫入已被更名 (甚至已刪除) 的檔案描述符,導致新 Log 檔一直是空的。

範例:kill -USR1 $(cat /var/run/nginx.pid)