以前紹介したwgetコマンドだけど、これがとても便利。
通常のGET以外にPOSTでデータを送ることも出来る。
例えば、
WORDS=
wget -q -O - --post-data 'loginid=hoge@piyo&password=hoo' http://hoge.piyo/login|grep ServersMan@VPSにログインありがとうございます|wc -w
if test $WORDS -gt 0; then
echo ‘HOGEサイトに正常にログインできました。’|mail -s “hoge-service health status[Good]” “ayu@hoge.piyo” — -f “system@hoge.piyo”
else
echo ‘HOGEサイトへのログインテストに失敗しました。
システムに不具合がある可能性があります。’|mail -s “***** hoge-service health status[Bad] *****” “ayu@hoge.piyo” — -f “system@hoge.piyo”
fi
みたいなシェルを作ってcronで回しておく。
-Oオプションは取得した内容を標準出力する。 –post-dataで、この場合ログインID&パスワードを送信した結果に、特徴文字列(ServersMan@VPSにログインありがとうございます)をgrepで探して、wc -wコマンドで該当文字列の単語数をカウントした結果をWORDS変数に入れている。
で、if test $WORDS -gt 0(greater than 0=0より大きい)が成立すれば、Goodのメールを送信し、成立しなければBadステータスのメールを送信する。
Goodの送信をナシにして、Bad時にケータイに送信するような感じにしてcronで毎分回しておくと、サイト不具合を検知しやすいだろう。
(408)