毎時pingを送信し、電子メールで失敗するスクリプト

毎時pingを送信し、電子メールで失敗するスクリプト

私は1時間ごとに5つのホストにpingを送信するシェルスクリプトを作成しようとしていますが、これらのホストの1つでエラーが受信されると、失敗したping結果を含む電子メール警告を送信します。

ベストアンサー1

次のように動作する必要があります。

    #!/bin/bash

ping_targets="server1 server2 server3 server4 server5"
failed_hosts=""

for i in $ping_targets
do
   ping -c 1 $i > /dev/null
   if [ $? -ne 0 ]; then
      if [ "$failed_hosts" == "" ]; then
         failed_hosts="$i"
      else
         failed_hosts="$failed_hosts, $i"
      fi
   fi
done

if [ "$failed_hosts" != "" ]; then
   echo $failed_hosts| mailx -s "Failed ping targets" email@domain
fi

これをスクリプトに入れ、ホスト名と電子メールアドレスを変更して実行可能にし、cronにエントリを追加して毎時間実行します。

おすすめ記事