script para verificar se o URL está ativo e em execução [closed]

0

Eu escrevi um script para verificar se nossas três URLs estão em alta. E se elas estiverem inoperantes, precisarei enviar uma mensagem informando que o URL está inativo e não ativo.

O problema é que fiz algo errado e agora, em qualquer cenário, minha saída sempre mostra os "URLs estão ativos"

FYi .. usamos nginx e, portanto, porque eu tenho grep a saída para "http 302 encontrado"

if curl -k --head $URL1 | grep "302 Found" && curl  -k --head $URL1 | grep "302 Found" && curl  -k --head $URL1 | grep "302 Found"
then
  echo "All The URLs are up!"
else
  echo " all url is down "
fi
    
por helper 07.11.2014 / 11:19

1 resposta

1

Tente.

#!/bin/bash              

for URL in <url1> <url2> <url3>
    do                     
    STATUS=$(curl -s -o /dev/null -w "%{http_code}\n" $URL)
      if [ $STATUS == 302 ] ; then
          echo "$URL is up, returned $STATUS"
      else                     
          echo "$URL is not up, returned $STATUS"
      fi
    done
    
por 07.11.2014 / 19:49