GNU/Linux >> Linux Esercitazione >  >> Linux

Bash script per verificare se un sito HTTPS pubblico è attivo

Uno dei tanti:

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

Ecco un modo per farlo usando wget invece di curl. Tieni presente che MacOS non viene fornito con wget per impostazione predefinita.

Una richiesta web andata a buon fine restituirà un codice 200, un errore restituirà un codice 300, 400, 404, ecc... (vedi codici API REST)

Questa riga restituirà un 1 se la richiesta web ha avuto successo, altrimenti restituirà 0

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

Il plugin check_http di Nagios può fare questo e molto altro, incluso il controllo di un testo specifico nella risposta. Puoi eseguirlo da uno script di shell indipendentemente da Nagios stesso:

$ 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. Uno script Bash può essere agganciato a un file?

  2. Script Bash:controlla se un file è un file di testo?

  3. Come controllare la sottostringa in Shell Script Bash?

  4. Qualsiasi modo per uscire dallo script bash, ma non uscire dal terminale

  5. Corrispondenza del modello di script Bash

35 Esempi di script Bash

Come eseguire uno script Bash

Come posso controllare la sintassi di uno script Bash senza eseguirlo?

Come controllare l'accesso a Internet usando lo script bash in Linux?

Come verificare se esiste un file in una directory specifica in uno script bash?

Controlla se uno qualsiasi dei parametri di uno script bash corrisponde a una stringa