私のラズベリーパイとサーバーが時々お互いに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