在 CentOS 中,logrotate
用於管理系統日誌文件的輪換(rotate)、壓縮和清理。如果你想為 Postfix 配置 logrotate
,可以按照以下步驟進行:
1. 創建或編輯 Postfix 的 logrotate
配置文件
通常,logrotate
的配置文件位於 /etc/logrotate.d/
目錄下。你可以創建一個新的配置文件或編輯已存在的配置文件來管理 Postfix 的日誌。
- 創建或編輯配置文件: 使用以下命令創建或編輯
/etc/logrotate.d/postfix
文件:
sudo nano /etc/logrotate.d/postfix
- 添加或修改配置: 在這個文件中,你可以添加如下的配置來指定 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
表示postrotate
和endscript
中的腳本只會運行一次。postrotate
和endscript
之間的部分會在每次輪換後執行。這裡我們使用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
會自動根據配置文件的設置定期進行輪換。