GNU/Linux >> Linux Esercitazione >  >> Linux

Controllo dello stato di salute della pagina Web utilizzando Curl?

Vorrei eseguire un controllo dello stato di un servizio chiamando un URL specifico su di esso. Sembra che la soluzione più semplice sarebbe usare cron per eseguire il controllo ogni minuto circa. In caso di errori, cron mi invia un'e-mail.

Ho provato a usare cUrl per questo, ma non riesco a far sì che emetta messaggi solo in caso di errori. Se provo a indirizzare l'output su /dev/null, stampa il rapporto sullo stato di avanzamento.

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  5559  100  5559    0     0   100k      0 --:--:-- --:--:-- --:--:--  106k

Ho provato a guardare tra le opzioni di arricciatura ma non riesco a trovare nulla che si adatti alla situazione in cui vuoi che sia silenzioso in caso di successo ma faccia rumore per gli errori.

C'è un modo per fare in modo che curl faccia quello che voglio o c'è qualche altro strumento che dovrei guardare?

Risposta accettata:

Che dire di -sSf ? Dalle pagine man:

  -s/--silent
     Silent or quiet mode. Do not show progress meter or error messages.  
     Makes Curl mute.

  -S/--show-error
     When used with -s it makes curl show an error message if it fails.

  -f/--fail
     (HTTP)  Fail silently (no output at all) on server errors. This is mostly
     done to better enable scripts etc to better deal with failed attempts. In
     normal  cases  when a HTTP server fails to deliver a document, it returns
     an HTML document stating so (which often also describes  why  and  more).
     This flag will prevent curl from outputting that and return error 22.

     This method is not fail-safe and there are occasions where non-successful
     response codes will  slip  through,  especially  when  authentication  is
     involved (response codes 401 and 407).

Ad esempio:

curl -sSf http://example.org > /dev/null

Linux
  1. Creazione di proxy Web SOCKS tramite SSH

  2. Debian – Come arricciare il contenuto completo di una pagina Web?

  3. Controlla se una directory è vuota usando C su Linux

  4. eseguire richieste HTTP con cURL (usando PROXY)

  5. Utilizzo di curl per inviare e-mail

Utilizzo di Curl per effettuare richieste API REST

Come condividere il tuo terminale sul Web utilizzando Streamhut

Controllo dello stato dei servizi Web liquidi

Ubuntu:utilizzo di curl per scaricare un'immagine

RabbitMQ - Ottieni messaggi da una coda usando curl

Controlla l'integrità di eMMC