Apacheサーバーが応答しているかどうかをリモートで確認するには?

Apacheサーバーが応答しているかどうかをリモートで確認するには?

サーバーが2つあります。そのうちの1つが頻繁にクラッシュします。携帯電話がクラッシュしたときに携帯電話にテキストメッセージを送信したいと思います。

私は別のサーバーでこの単純なbashスクリプトを作成し、それをcrontabに入れて10分ごとに実行しました。

wget --spider http://mywebsite.com || php sendsms.php

これは正しいアプローチですか?時々テキストメッセージを受け取り、サーバーが問題なく実行されることを確認しました。

答え1

出力で障害の原因を特定できるはずですwget --spider ...wgetこの情報は、スクリプトを実行しているユーザーに電子メールで送信されます。

[email protected]

確認のために電子メールアカウントにリダイレクトできます。

偽のネットワークまたはDNSエラーがある場合は、使用できない状態が一時的であることを再確認して、誤検出の数を減らすことができます。

wget --spider -a /var/tmp/wget_test.log http://mywebsite.com || (sleep 10; wget --spider http://mywebsite.com ) || php sendsms.php

私は(stderrで印刷するのではなく)ログファイルに出力を追加して最初の試みをしました。これにより、すべてが正常に機能すると、10分ごとに電子メールを受信できなくなります。

wget実行は、最初にURLを試みると日付タイムスタンプとURLを印刷します。 2番目の電子メールで送信された出力の日付 - タイムスタンプをwgetログファイルの日付 - タイムスタンプと一致させると、最初は失敗し、2番目は通過したすべての実行を表示できます。wget

関連情報