Linux
對數旋轉 - 旋轉後發射太快?
我有一個看起來像這樣的配置文件:
/var/log/nginx/*.log { daily missingok rotate 90 dateext compress notifempty create 644 root adm sharedscripts postrotate [ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid` /usr/local/bin/synclogs.sh endscript }
synclogs.sh 應該在所有日誌文件都已旋轉和壓縮後執行。該腳本確實成功啟動,但是當它開始執行時,程序找不到任何 logrotate 應該創建的 .gz 文件。幾分鐘後我手動執行了腳本,它開始正常。
根據我發現的文件,postrotate 不應該在壓縮完成之前開始。不是這樣嗎?這是 Debian Squeeze 附帶的 logrotate 中的一個錯誤,還是我只是錯過了一些非常簡單的東西?
萬一有人想知道,不管手冊頁說什麼,壓縮後旋轉後都會觸發。
你有沒有試過這個:
/var/log/nginx/*.log { daily missingok rotate 90 dateext compress **delaycompress** notifempty create 644 root adm sharedscripts postrotate [ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid` /usr/local/bin/synclogs.sh endscript }
看看delaycompress選項,當然沒有“*”HTH