GNU/Linux >> Linux の 問題 >  >> Linux

パブリック HTTPS サイトが稼働しているかどうかを確認する Bash スクリプト

多くのうちの 1 つ:

if curl -s --head  --request GET https://example.com | grep "200 OK" > /dev/null; then 
   echo "mysite.com is UP"
else
   echo "mysite.com is DOWN"
fi

curl の代わりに wget を使用する方法を次に示します。 MacOS にはデフォルトで wget が付属していないことに注意してください。

Web リクエストが成功するとコード 200 が返され、失敗すると 300、400、404 などが返されます... (REST API コードを参照)

この行は 1 を返します Web リクエストが成功した場合、それ以外の場合は 0 を返します

wget -q  -O /tmp/foo google.com | grep '200' /tmp/foo | wc -l
1

Nagios の check_http プラグインは、これだけでなく、応答内の特定のテキストのチェックなど、さらに多くのことを実行できます。 Nagios 自体とは関係なく、シェル スクリプトから実行できます:

$ check_http --ssl -H www.google.com -r 'Feeling Lucky'
HTTP OK: HTTP/1.1 200 OK - 11900 bytes in 0.086 second response time |time=0.085943s;;;0.000000 size=11900B;;;0

$ echo $?
0

Linux
  1. Bashスクリプトをファイルに接続できますか?

  2. シェルスクリプトBashでサブストリングをチェックする方法は?

  3. 時間コマンドでBashスクリプトの実行にかかる時間を確認する

  1. 置換するのではなく、Bash スクリプトで正規表現の一致を返す

  2. Bash シェル スクリプト - フラグをチェックしてその値を取得する

  3. ボリュームが Bash スクリプトでマウントされているかどうかを確認する最良の方法は何ですか?

  1. Bashスクリプトをデバッグする方法は?

  2. Bash =〜正規表現とHttps://regex101.com/?

  3. Bashスクリプト:ファイルがテキストファイルかどうかを確認しますか?