GNU/Linux >> Znalost Linux >  >> Linux

Bash skript pro kontrolu, zda je veřejný web HTTPS aktivní

Jeden z mnoha:

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

Zde je způsob, jak to udělat pomocí wget místo curl. Mějte na paměti, že MacOS standardně neobsahuje wget.

Úspěšný webový požadavek vrátí kód 200, neúspěšný vrátí 300, 400, 404 atd... (viz kódy REST API)

Tento řádek vrátí 1 pokud byl webový požadavek úspěšný, jinak vrátí 0

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

Plugin Nagios check_http to umí a mnohem více, včetně kontroly konkrétního textu v odpovědi. Můžete jej spustit ze skriptu shellu nezávisle na samotném 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. Vraťte shodu s regulárním výrazem ve skriptu Bash namísto jeho nahrazení

  2. Zkontrolujte, zda jsou ve skriptu bash uvedeny alespoň dva argumenty

  3. Bash Shell Script - Zkontrolujte, zda nemáte příznak a zjistěte jeho hodnotu

  1. Jak zkontrolovat přístup k internetu pomocí bash skriptu v linuxu?

  2. Porovnávání vzorů skriptů Bash

  3. Zkontrolujte, zda některý z parametrů bash skriptu odpovídá řetězci

  1. Může být Bash skript připojen k souboru?

  2. Bash Script:Zkontrolujte, zda je soubor textovým souborem?

  3. Jakýkoli způsob, jak ukončit bash skript, ale ne opustit terminál