環境
やりたいこと
何か作業する際に、ダウンタイムが発生していないか確認し続けたい。
コマンド
while true; do echo -n "$(date +'%H:%M:%S') Status: "; curl -s -o /dev/null -w "%{http_code}\n" --max-time 1 https://example.com/; sleep 0.5; done
実行するとこんな感じになる
23:50:47 Status: 200 23:50:48 Status: 200 23:50:48 Status: 200 23:50:49 Status: 200
オプションの解説
-s: 進捗バーやエラーメッセージを非表示にしてログをすっきりさせる-o /dev/null: レスポンスボディを破棄し、標準出力には何も出さない-w "%{http_code}\n": 指定フォーマットでHTTPステータスコードだけを出力する--max-time 1: リクエスト全体のタイムアウトを1秒に制限