Logrotate
為什麼在 logrotate postrotate 配置中經常使用“|| true”和 >/dev/null 表達式?
有許多 logrotate 配置範例,其中包含以下內容:
postrotate systemctl reload nginx 1> /dev/null 2> /dev/null || true endscript
但其背後的動機是什麼?為什麼這種情況如此普遍?如果出現問題等,將輸出傳遞到某些文件/日誌以便能夠輕鬆調試是不是很理智?
在這種情況下,可以在 logrotate 中忽略重新載入服務的錯誤,因為它們將在執行 reload 命令時由 systemd 自己處理。
此外,無論如何,日誌消息都將儲存在日誌中,因此為避免重複,忽略了額外的輸出。