GNU/Linux >> Linux の 問題 >  >> Linux

Linux init.d/rc.d スクリプトからエラー メッセージを見つける方法は?

解決策 1:

<オール>
  • いいえ - STDOUT に移動します (echo を使用する場合 ) または STDERR (echo >&2 を使用する場合 ).

  • スクリプトは、独自にログや syslog に書き込む必要があります (ディストリビューションにはいくつかの init.d が含まれている場合があります) そこで役立つかもしれない機能 - あなたのディストリビューションを質問に追加してください)。

  • ログを探す場合は、tee を探します 指図。 syslog の場合は logger を見てください .好きなように組み合わせることができます。

    解決策 2:

    スクリプトを呼び出して出力をファイルにリダイレクトするラッパー スクリプトを作成します

    #!/bin/bash
    
        /path/to/your/script &>/path/to/logfile
    

    解決策 3:

    次のように、メッセージを画面と syslog の両方にエコーする関数を作成できます:

    LOGGER="/usr/bin/logger -t $myScript"    # check the location of logger for your system
    
    myEcho () {
        echo "$1"
        $LOGGER "$1"
    }
    

    それを別のファイルに入れて、スクリプトに含めることもできます

    #!/bin/bash
    myScript=$(basename $0)
    [ -r /myFunctions/myecho ] && . /myFunctions/myecho
    

    解決策 4:

    通常、init スクリプトからのメッセージはどこにもキャプチャされません。したがって、自分でそれを行う方法を実装する必要があります。 logger を使用することをお勧めします すべての出力を syslog に送信します。この例では、stdout と stderr を syslog に送信します:

    exec 1> >(logger -s -t $(basename $0)) 2>&1
    

    この素晴らしい記事で見つけました:http://urbanautomaton.com/blog/2014/09/09/redirecting-bash-script-output-to-syslog/.


    Linux
    1. LinuxでFINDを使用する方法

    2. Linux – Syslog.confファイルを設定して、Iptablesメッセージを別のファイルに記録する方法は?

    3. LSB Init 標準に基づいて Linux Init スクリプトを作成する方法

    1. Linux 端末から特定のファイルを見つけるにはどうすればよいですか?

    2. Linux から IPv4 スタックを動的に完全に無効にする方法は?

    3. Linux から Juniper VPN に接続する方法

    1. Linuxターミナルから正規表現を使用してフォルダーを削除するにはどうすればよいですか

    2. 起動後に Linux ですべての起動メッセージを表示する方法は?

    3. Linux の「find」コマンドを使用して隠しファイルを表示する方法