Verificar se site está online via linha de comando

Publicado por Fábio Berbert de Paula em 29/07/2020

[ Hits: 11.876 ]

Blog: https://fabio.automatizando.dev

 


Verificar se site está online via linha de comando



Existem várias formas de se verificar se um site está online ou offline via linha de comando. Nesta dica apresentarei a solução usando curl.

Digite:

curl -Is https://www.vivaolinux.com.br | head -1
HTTP/2 200

Se o site estiver online, uma mensagem de status HTTP será retornada. Se ele estiver offline, não haverá retorno.

Então vamos aproveitar e criar um pequeno shell script para realizar a tarefa:

vim ~/bin/checar-site

Adicionar o seguinte conteúdo:

#!/bin/bash

URL=$1
RESULT=$(curl -Is $URL | head -n 1)

# cores
RED='\033[0;31m'
GREEN='\033[0;32m'
NOCOLOR='\033[0m'

if [ "$RESULT" ] ; then
  printf "${GREEN}Online${NOCOLOR}"
else
  printf "${RED}Offline${NOCOLOR}"
fi

Tornar o script executável:

chmod +x ~/bin/checar-site

E executar:

~/bin/checar-site https://www.vivaolinux.com.br

Até a próxima!

Outras dicas deste autor

Convertendo scripts em ASP para PHP

Como seu Samsung Galaxy S3 pode se transformar num PC

Como validar arquivos RSS via linha de comando

Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal

Alt+Tab não funciona no Ubuntu 15.04 [Resolvido]

Leitura recomendada

Aulas Shell Script do zero - Parte 1

Contagem regressiva no terminal

SSH (PuTTY) automatico pelo Windows

Dica para uso do echo

Highlighting: Destacando Códigos Bash Script no Eclipse

  

Comentários
[1] Comentário enviado por maurixnovatrento em 29/07/2020 - 09:24h

Gostei. Mas apliquei o meu estilo.

#!/bin/bash

[[ $1 = "" ]] && echo && echo -e "\033[1;31m -> URL Não Especificada! \033[0m" && echo && exit
[[ `curl -Is $1 | head -n 1` ]] && echo && echo -e "\033[1;34m -> Online \033[0m" && echo
[[ ! `curl -Is $1 | head -n 1` ]] && echo && echo -e "\033[1;33m -> Offline \033[0m" && echo

___________________________________
Conhecimento não se Leva para o Túmulo.

[2] Comentário enviado por SMarcell em 26/08/2020 - 09:31h

# Contribuições

# Versão sem uso de pipe:
curl -o /dev/null -s -w "%{http_code}\n" URL

# Usando o wget
wget --server-response --spider --quiet URL 2>&1 | awk 'NR == 1 {print $2}'

[3] Comentário enviado por maurixnovatrento em 26/08/2020 - 20:30h


Muito bom, essas contribuições.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]



Contribuir com comentário