Verifica serviços no Downdetector
O script base é o mesmo essa postagem será dividida em 3 partes: genérica, para o .com e para o .com.br.
Genérico
Criar uma pasta e colocar o caminho na váriável “path”. Exemplo: mkdir /etc/Downdetector
path="/etc/Downdetector"
Para downdetector.com.br
Para baixar a página arquivo e salvar como “index.html”, usando o “quiet” do “wget”.
wget -q https://downdetector.com.br/arquivo/ -O $path/index.html
Salvar a data no formato dd/mm/yyyy na variável.
currentDate=$(date +%d/%m/%Y)
Contar quantas entradas do dia de hoje existem.
countServices=$(grep "$currentDate" $path/index.html | wc -l)
Salva o que está “fora-do-ar”, tirando as “/” e apenas com o número de linhas obtidos acima. Desta forma fica apenas o nome do serviço que esta fora (cut).
serviceName=$(grep -i "fora-do-ar" $path/index.html | cut -d"/" -f3 | head -n $countServices)
Verifica se o arquivo existe, caso não exista ele é criado. Esse arquivo vai ser usado para controlar as notificações.
if [ ! -f $path/numberDownBr ];then echo 0 > $path/numberDownBr fi
Joga o conteúdo, número de serviços fora, do arquivo para a variável.
numberServicesDownOld=$(cat $path/numberDownBr)
Testa se o número antigo de serviços fora e o atual é diferente. Se for diferente executa o conteúdo do IF.
if [ $countServices != $numberServicesDownOld ];then
# Salva o novo número de serviços fora no arquivo
echo $countServices > $path/numberDownBr
# Verifica se a variável tem conteúdo e faz o envio do alerta via Telegram.
if [[ ! -z $serviceName ]];then
curl -s -X POST \
https://api.telegram.org/bot000000:000000000000/sendMessage \
-d text="
===================================
*< DOWNDETECTOR - NACIONAL >*
===================================
Existem $countServices serviços com problema nacionalmente.
São eles:
==============
$serviceName
==============
Para maiores informações, acesse -> https://downdetector.com.br/arquivo/
========================" \
-d chat_id=-00000000 \
-d parse_mode="markdown" > /dev/null
fi # Fim do IF da notificação
fi # Fim do iF do número de serviços
Para downdetector.com.br
Para baixar a página arquivo e salvar como “index.html”, usando o “quiet” do “wget”. wget -q https://downdetector.com/arquivo/ -O $path/index.html
Salvar a data no formato mm/dd/yyyy na variável, formato usado no site .com.
currentDate=$(date +%m/%d/%Y)
Conta quantas entradas do dia de hoje existem.
countServices=$(grep "$currentDate" $path/index.html | wc -l)
Salva o que está “fora-do-ar”, tirando as “/” e apenas com o número de linhas obtidos acima. Desta forma fica apenas o nomo do serviço que esta fora (cut).
serviceName=$(grep -i "/status/" $path/index.html | cut -d"/" -f3 | head -n $countServices)
Verifica se o arquivo existe, caso não exista ele é criado. Esse arquivo vai ser usado para controlar as notificações do .com.
if [ ! -f $path/numberDown ];then echo 0 > $path/numberDown fi
Joga o conteúdo do arquivo para a variável.
numberServicesDownOld=$(cat $path/numberDown)
Testa se o número antigo de serviços fora e o atual é diferente. Se for diferente executa o conteúdo do IF.
if [ $countServices != $numberServicesDownOld ];then
# Salva o novo número de serviços fora no arquivo
echo $countServices > $path/numberDown
# Verifica se o arquivo "notification" tem conteúdo e faz o envio do alerta via Telegram.
if [[ ! -z $serviceName ]];then
curl -s -X POST \
https://api.telegram.org/bot534478184:AAEcrOIStYsyvhzsrrba6hy4nMUbwmJu514/sendMessage \
-d text="
================================
*< DOWNDETECTOR - GLOBAL >*
================================
Existem $countServices serviços com problema globalmente.
São eles:
==============
$serviceName
==============
Para maiores informações, acesse -> https://downdetector.com/arquivo/
========================" \
-d chat_id=-1001472408222 \
-d parse_mode="markdown" > /dev/null
fi # Fim do IF da notificação
fi # Fim do iF do número de serviços
exit 0