Linux

如何從 Linux init.d/rc.d 腳本中查找錯誤消息?

  • June 23, 2017

在 Linux 中,我編寫了一些要在引導期間執行的腳本,並嘗試了各種安裝它們的方法。對於較大的腳本,我將放入/etc/init.d並連結適當的/etc/rc.d/rc?.d執行級別。對於較小的腳本,我將附加到/etc/rc.d/rc.local. 這個過程似乎執行得很順利。

現在我調整了我的一個腳本,但它失敗了。我有一個時間來診斷它,因為我似乎無法擷取錯誤輸出。我已經檢查/var/log/messages並瀏覽了其餘部分,/var/log但找不到任何有用的東西。

有人知道嗎:

  1. 這些錯誤消息會在某處自動擷取嗎?
  2. 如果沒有,我如何從我的 init.d 腳本中擷取標準輸出/標準錯誤?

提前致謝。

  1. 不 - 他們去STDOUT(如果你使用echo)或STDERR(如果你使用echo >&2)。
  2. 您的腳本必須自己寫入日誌和/或系統日誌(您的發行版可能包含一些可能有助於那裡的init.d函式 - 將您的發行版添加到您的問題中)。

如果您查找日誌,請查找tee命令。如果你去 syslog 看看logger. 你可以用任何你想要的方式組合它們。

編寫一個包裝腳本,呼叫您的腳本並將輸出重定向到文件

#!/bin/bash

   /path/to/your/script &>/path/to/logfile

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