サーバーがダウンしているかオフラインであるかを検出するBashスクリプト

サーバーがダウンしているかオフラインであるかを検出するBashスクリプト

背景:サーバーがダウンしたときに通知を受け取る必要があります。サーバーがダウンすると、Sysload コレクターが警告を送信できないことがあります。サーバーがダウンしたときに警告を受けるためにこれを検出する外部ソース(サーバー)があります。

質問:サーバーがダウンしているかオフラインであるかを検出し、警告メッセージ(メール+ SMS)を送信する方法はありますか(私はbashスクリプトを好む)?

ベストアンサー1

スキャンスクリプトを実行する別のサーバーがある場合は、次のように簡単なpingテストを実行して、サーバーが生きていることを確認します。

#!/bin/bash
SERVERIP=192.168.2.3
[email protected]

ping -c 3 $SERVERIP > /dev/null 2>&1
if [ $? -ne 0 ]
then
   # Use your favorite mailer here:
   mailx -s "Server $SERVERIP is down" -t "$NOTIFYEMAIL" < /dev/null 
fi

定期的にcronスクリプトを実行できます。

mailxがない場合は、その行を使用しているコマンドラインの電子メールプログラムに置き換えてオプションを変更する必要があります。携帯電話会社がSMSメールアドレスを提供している場合は、そのアドレスに電子メールを送信できます。たとえば、AT&Tの場合、次のアドレスに電子メールを送信すると、電話番号@txt.att.net お使いの携帯電話に電子メールを送信します。

以下は、SMSゲートウェイに送信された電子メールのリストです。

http://en.wikipedia.org/wiki/List_of_SMS_gateways

あなたのサーバーが公にアクセス可能なWebサーバーである場合、あなたのウェブサイトを監視し、ウェブサイトがダウンしたときに通知を送信する無料のサービスがあります。無料ウェブサイトの監視ちょっと探してみてください。

おすすめ記事