GNU/Linux >> Tutoriales Linux >  >> Linux

Bash script para verificar si un sitio HTTPS público está activo

Uno de muchos:

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

Aquí hay una manera de hacerlo usando wget en lugar de curl. Tenga en cuenta que MacOS no viene con wget de forma predeterminada.

Una solicitud web exitosa devolverá un código de 200, una falla devolverá un 300, 400, 404, ect... (ver códigos API REST)

Esta línea devolverá un 1 si la solicitud web fue exitosa, de lo contrario devolverá 0

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

El complemento check_http de Nagios puede hacer esto y mucho más, incluida la verificación de texto específico en la respuesta. Puede ejecutarlo desde un script de shell independientemente del propio 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. ¿Se puede conectar un script Bash a un archivo?

  2. Bash Script:¿Comprobar si un archivo es un archivo de texto?

  3. Compruebe cuánto tarda en ejecutarse un script de Bash con el comando de tiempo

  4. Devuelve una coincidencia de expresiones regulares en un script Bash, en lugar de reemplazarlo

  5. Cualquier forma de salir del script bash, pero sin salir de la terminal

35 ejemplos de secuencias de comandos Bash

Cómo ejecutar un script Bash

¿Cómo verifico la sintaxis de un script Bash sin ejecutarlo?

¿Cómo verificar si existe un archivo en un directorio específico en un script bash?

Ejecute el comando bash en la canalización de jenkins

Compruebe si alguno de los parámetros de un script bash coincide con una cadena