Raspberry Piとサーバーが時々互いにpingして状態を確認してください。

Raspberry Piとサーバーが時々互いにpingして状態を確認してください。

私のラズベリーパイとサーバーが時々お互いにpingを送信し、まだオンラインであることを確認し、そうでない場合に電子メールを送信する方法を教えてください。

たとえば、私のPiが毎時間サーバーにpingを送信し、サーバーもpiにpingを送信する場合です。そのうちの1人が応答しない場合、それを知らせるEメールが届きますか?

私はサーバーにpingを送信するためにcronジョブを設定できると確信していますが、受け取った情報をどのように使用し、私に電子メールを送信するのかわかりません。

ありがとう

答え1

以下のようにスクリプトを追加すると、/etc/cron.hourly目標を達成できます。終了状態を取得し$?、0でなければコマンドを実行し、そうでなければ何もしません。

#!/bin/bash
email=user@localhost
address=192.168.0.2

ping -c 3 "${address}" > /dev/null 2>&1
  if [ $? -ne 0 ]; then
    echo "Pi is down" | mailx -s "Pi is down" "${email}"
  fi

関連情報