ファイルにログを書き込むスクリプト

ファイルにログを書き込むスクリプト

たとえば、特定のアドレスにpingを送信するスクリプトを作成しようとしていますが、Google.com接続が失われた場合はログをファイルに書き込みます。私は何をすべきかわかりません。例:

ping goodle.com 

接続している場合はPingだけを送信してください

接続されていない場合は、ファイルにログを書き込みます。

答え1

最も簡単な形式で次のことができます。

ping -c2 google.com 2>&1 >/dev/null || echo "$(date) host not available" >> /tmp/mylogfile

pingpingが可能な場合は通常成功(終了コード0)を返し、そうでない場合はゼロ以外のコードを返すため、2番目の場合にのみエコーが実行されます。 (-c2pingを2回だけ意味し、ping通常は停止するまで試し続けます。)

答え2

if ! ping -c2 google.com >/dev/null 2>&1; then
    printf '%s\tgoogle.com not reachable\n' "$(date)" >>logfile
fi

これにより、pingGoogleに2回pingを試みます。失敗すると(pingゼロ以外の終了ステータスを返す)、ログファイルにメッセージが追加されます。

関連情報