Ubuntu
每小時記錄一次這將重新啟動我的程序
我正在考慮將日誌輪換設置切換為每小時而不是每天輪換日誌。我想我已經準備好配置,但想檢查配置是否會使用 postrotate 選項觸發程序的重新載入/重新啟動?
我在 ubuntu 16.04 上執行它,並將我的配置從 /etc/cron.daily 複製到 /etc/cron.hourly 準備好了
這是我在 logrotate.d/nginx 文件中的配置:
/var/log/nginx/*/*.log { hourly missingok rotate 720 compress delaycompress notifempty create 640 nginx adm sharedscripts postrotate if [ -f /var/run/nginx.pid ]; then kill -USR1 `cat /var/run/nginx.pid` fi endscript }
如果這確實殺死了這個過程,有沒有辦法繞過這個步驟?
可以看到的命令:
kill -USR1 `cat /var/run/nginx.pid`
實際上並沒有殺死程序。
相反,
kill
發送一個特定的信號“USR1
”,這對於 nginx 具有特定的含義,並告訴 nginx 主程序重新打開它的日誌文件。這實際上意味著 nginx 開始寫入新的日誌文件。
對於其他一些沒有被設計為適當的守護程序並且不理解這個信號的程序,這可能是一個問題,你必須殺死並重新啟動它們。這不適用於 Nginx。