如何將 init.d 腳本日誌訊息寫入磁碟?

如何將 init.d 腳本日誌訊息寫入磁碟?

我正在運行 Debian。許多腳本/etc/init.d/使用定義在Linux 標準函式庫,像log_success_msglog_warning_msg。 LSB 文件對於這些函數到底該做什麼似乎有點含糊:

log_success_msg 函數應使系統將成功訊息寫入未指定的日誌檔案。訊息的格式未指定。 log_success_msg 函數也可以將訊息寫入標準輸出。

然而,我想這被解釋為函數可以任何一個寫入日誌文件或者只需寫入標準輸出即可。看來至少在 Debian 上,它只是導致訊息寫入標準輸出。當我檢查定義這些函數的文件時,我的懷疑得到了證實/lib/lsb/init-functions——它只是調用echo來顯示任何日誌訊息。

這不是有幫助的行為。啟動時寫入標準輸出的文字在啟動完成後不久就會消失,並且在任何情況下都可能滾動到螢幕頂部。當然,如果這些訊息實際上儲存在日誌檔案中會更有幫助;事實上,如果這些函數只是轉到標準輸出,我甚至看不到透過這些函數記錄任何內容的意義。

有什麼辦法可以將這些日誌寫入檔案嗎?誰能告訴我為什麼你會費心將任何內容僅“記錄”到標準輸出?它有什麼有用的功能?

答案1

看起來解決方案是安裝bootlogd並放置

BOOTLOGD_ENABLE=yes

/etc/default/bootlogd

參考:

相關內容