まあ...最も簡単なスクリプト、私はカムを書く:
/usr/bin/wget "www.example.com" --timeout 30 -O - 2>/dev/null | grep "Normal operation string" || echo "The site is down" | /usr/bin/mail -v -s "Site is down" your@e-mail.address
次のようにcronに追加します:
* * * * * /usr/bin/wget "www.example.com" --timeout 30 -O - 2>/dev/null | grep "Normal operation string" || echo "The site is down" | /usr/bin/mail -v -s "Site is down" your@e-mail.address
しかし、問題が存在する場合、それが何であるかを伝えるのは簡単すぎます。
UPD:このワンライナーは、ページ上の特定の文字列(「通常の操作文字列」)をチェックします。これは通常の操作でのみ表示されます。
UPD2:電子メールでエラーページを送信する簡単な方法:
/usr/bin/wget "www.example.com" --timeout 30 -O - 2>/dev/null | grep "Normal operation string" || /usr/bin/wget "www.example.com" --timeout 30 -O - 2>/dev/null | /usr/bin/mail -v -s "Site is down" your@e-mail.address
マイナス点は、最初のテストが失敗した場合にページが再要求されることです。今回はリクエストが成功し、エラーは表示されません。もちろん、出力を保存して添付ファイルとして送信することは可能ですが、スクリプトがより複雑になります。