次のスクリプトを実行しました
HOSTS="ns1.server.com ns2.server.com"
SUBJECT="Host Down"
for myHost in $HOSTS
do
count=$(ping -c 10 $myHost | grep 'received' | awk -F',' '{ print $2 }' | awk '{
print $1 }')
if [ $count -eq 0 ]; then
echo "Host : $myHost is down (ping failed) at $(date)" | sendEmail -f email (email address removed) -u "$SUBJECT" etc etc
fi
done
5 分ごとに cron を介して実行しますが、ホストがダウンしている場合は、これを反映して 5 分ごとにメールを受け取ります。私が望むのは、ステータスが変更されたときにのみメールが送信されるように機能を追加することです。つまり、ダウンしている場合は、アップするまでそれ以上の更新を送信したくありません。