設定postifx logrotate


在 CentOS 中,logrotate 用於管理系統日誌文件的輪換(rotate)、壓縮和清理。如果你想為 Postfix 配置 logrotate,可以按照以下步驟進行:

1. 創建或編輯 Postfix 的 logrotate 配置文件

通常,logrotate 的配置文件位於 /etc/logrotate.d/ 目錄下。你可以創建一個新的配置文件或編輯已存在的配置文件來管理 Postfix 的日誌。

  1. 創建或編輯配置文件: 使用以下命令創建或編輯 /etc/logrotate.d/postfix 文件:
   sudo nano /etc/logrotate.d/postfix
  1. 添加或修改配置: 在這個文件中,你可以添加如下的配置來指定 Postfix 日誌文件的輪換方式:
   /var/log/maillog {
       daily
       missingok
       rotate 7
       compress
       delaycompress
       notifempty
       create 0640 root root
       sharedscripts
       postrotate
           /bin/systemctl reload postfix > /dev/null 2>&1 || true
       endscript
   }
  • /var/log/maillog 是 Postfix 日誌文件的路徑。
  • daily 指示日誌文件每天輪換一次。
  • rotate 7 保留 7 份過去的日誌文件。
  • compress 壓縮老的日誌文件。
  • delaycompress 延遲壓縮,避免在剛輪換後馬上壓縮日誌文件。
  • notifempty 如果日誌文件是空的,不進行輪換。
  • create 0640 root root 創建新的日誌文件,並設置權限和所有者。
  • sharedscripts 表示 postrotateendscript 中的腳本只會運行一次。
  • postrotateendscript 之間的部分會在每次輪換後執行。這裡我們使用 systemctl reload postfix 來重新加載 Postfix 配置,以確保 Postfix 知道日誌文件已被輪換。

2. 測試 logrotate 配置

配置完成後,你可以使用以下命令手動測試 logrotate 配置:

sudo logrotate -d /etc/logrotate.d/postfix

-d 選項表示調試模式,這樣 logrotate 不會實際執行日誌輪換,但會顯示會做什麼操作。

3. 手動執行 logrotate

如果調試結果滿意,可以手動運行 logrotate 來立即進行日誌輪換:

sudo logrotate -f /etc/logrotate.d/postfix

這樣,Postfix 的日誌文件就會根據配置進行輪換。以後 logrotate 會自動根據配置文件的設置定期進行輪換。


WordPress Appliance - Powered by TurnKey Linux