6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

curlコマンドとシェルスクリプトでping的にWebサイトの稼働確認を行う

Last updated at Posted at 2018-03-06

curlコマンドを定期的に実行してレスポンスとHTTPコードを表示させることで、ping的にWebサイトの稼働確認を行うためのシェルスクリプトです。
後ろの席の人がWebサイトの稼働確認を手作業でやってるのを見て、ついかっとなって作りました。

Webサイトのレスポンスが遅かったり、画面が表示されなかったりする時に、レスポンス時間の平均値やアクセスOK/NG率を定量的に把握することが可能になります。

スクリプト

for i in `seq 0 9`
do
  echo -n `date +"%Y/%m/%d %H:%M:%S,"` && \
  echo    `curl -LI http://example.com -o /dev/null -w '%{http_code},%{time_total}\n' -s` ;
  sleep 10 ;
done

解説

URLの部分(http://example.com)を稼働確認したいURLに変えて実行すると以下のような表示が出ます。

2018/03/06 19:17:53,200,6.840
2018/03/06 19:18:09,200,1.171
2018/03/06 19:18:21,200,6.570
2018/03/06 19:18:37,200,1.581
2018/03/06 19:18:49,200,1.208

カンマ区切りのデータはそれぞれ日時、HTTPレスポンスコード、レスポンス時間です。

for i in `seq 0 9` の数字で繰り返し回数を変更できます。この場合は0から9まで、つまり10回実行されます。
また sleep 10 の数字は待機時間です。単位は秒なのでこの場合は10秒です。

注意点

sleep時間を極端に短くしたり、繰り返し回数を大きくすると、Webサーバに負荷がかかって悪影響を与えることもあるので、その辺を留意の上でお使いください。

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?