Script Bash para verificar se um site HTTPS público está ativo

Script Bash para verificar se um site HTTPS público está ativo

Estou tentando configurar outro bloco de código em um script bash para verificar se um site público em HTTPS está ativo ou não. Podemos fazer isso usando CURL? Alguma sugestão do que pode ser usado além do CURL. Obrigado

Responder1

Aqui está uma maneira de fazer isso usando wget em vez de curl. Tenha em mente que o MacOS não vem com o wget por padrão.

Uma solicitação da web bem-sucedida retornará um código 200, uma falha retornará 300, 400, 404, etc.Códigos API REST)

Esta linha retornará um 1se a solicitação da web for bem-sucedida, caso contrário, retornará0

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

Responder2

Um de muitos:

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

Responder3

Nagios'plug-in check_httppode fazer isso e muito mais, incluindo a verificação de texto específico na resposta. Você pode executá-lo a partir de um shell script independentemente do próprio 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

Responder4

uma pergunta semelhante foi respondida aqui:

https://stackoverflow.com/questions/12747929/linux-script-with-curl-to-check-webservice-is-up

O Qoute é de Burhan Khalid

curl -sL -w "%{http_code}\n" "http://www.google.com/" -o /dev/null

-s = saída silenciosa do cURL

-L = Seguir redirecionamentos

-w = Formato de saída personalizado

-o = Redireciona a saída HTML para /dev/null

Exemplo:

[~]$ curl -sL -w "%{http_code}\n" "http://www.google.com/" -o /dev/null

Eu provavelmente removeria o \n se fosse para capturar a saída.

então você só precisa adicionar -k nas opções se não quiser verificar um certificado válido e usar https em vez de http, obviamente.

curl -sL -w "%{http_code}\n" "https://www.google.com/" -o /dev/null

relata o código de status 200 com um código de retorno 0.

Para todo o resto você precisa definir sua resposta no script.

informação relacionada