1
1

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.

シェルスクリプトでウェブサイトのダウンタイムを検出する

Posted at

ウェブサイトにアクセス出来ない時間(ダウンタイム)が発生しないかチェックしたい時にブラウザリロード連打でチェックするのが面倒くさい人向けです。

例えばデプロイ中にダウンタイムが発生しないかチェックしたい場合などに便利かもしれません。

check.sh
#!/usr/bin/env bash
readonly CHECK_URL="https://example.com/"
while true; do
  status=$(curl -sL --head -m 3 -w "%{http_code}" "$CHECK_URL" -o /dev/null)
  if [ $status = 200 ]; then
    printf '.'
  else
    printf 'F'
  fi
  sleep 0.5
done

CHECK_URL で設定した URL へ 0.5 秒おきにアクセスして、
レスポンスのステータスコードが 200 だった場合は標準出力に「.」を、
200 以外だった場合は「F」を出力します。

「F」が出てきたらダウンタイムが発生しているなー、「.」に戻ったら復活したなーという感じで可視化できます。終了は CTRL + C キーなどで。

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?