Log-Files

logrotate 旋轉它們後,日誌文件變為空白

  • October 23, 2017

我有一個執行 openvpn 的 ubuntu 8.04 LTS 伺服器。openvpn 伺服器寫入 /var/log 下的標準日誌文件,一個月前 logrotate 會自動輪換文件並壓縮它們。

文件仍在輪換中,但新的日誌文件 (ovpn.log) 為空。重新啟動 openvpn 守護程序可以解決問題(即:openvpn 將狀態事件寫入文件)但大約 10 天后文件再次輪換 openvpn 無法再次寫入日誌文件。這也很奇怪,因為 logrotate 設置為每 6 個月輪換一次。

Openvpn 以無人身份執行,並且日誌文件由 root 和管理員擁有,這很奇怪,因為如果權限是原因,它應該始終工作或根本不工作,除非 openvpn 臨時以 root 身份執行,然後在初始化後下降到無人?

OpenVPN 可能仍在寫入舊日誌文件(它在啟動時打開用於回寫的文件(inode))。

Logrotate 需要通知 OpenVPN 守護程序其日誌文件已被翻轉,以便 OpenVPN 可以打開新的日誌文件(這通常通過信號完成,但停止/重新啟動整個守護程序具有相同的效果。檢查 OpenVPN 手冊頁和您的“後旋轉”腳本)。

或者,您可以將 OpenVPN 配置為使用 syslog,因為它logrotate應該syslogd在滾動您的日誌文件時發出通知(或者您的所有日誌文件都是空白的)。

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