Linux

對數旋轉 - 旋轉後發射太快?

  • May 25, 2017

我有一個看起來像這樣的配置文件:

/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

引用自:https://serverfault.com/questions/412081