Dici che hai solo bisogno della risposta "200 OK" in un commento.
Ciò consente una soluzione con alcuni vantaggi aggiuntivi rispetto a quelli di
wget -O /dev/null -o /dev/null example.com
. L'idea non è di scartare l'output in qualche modo, ma di non creare alcun output.
Il fatto che sia necessaria solo la risposta significa che i dati scaricati nel file locale index.html non devono essere scaricati in primo luogo.
Nel protocollo HTTP, il comando 'GET' viene utilizzato per scaricare un documento . Per accedere a un documento in un modo che fa tutto tranne che in realtà il download del documento, c'è un comando speciale 'HEAD'.
Quando si utilizza 'GET' per questa attività, il documento viene scaricato e scartato localmente. L'uso di "HEAD" fa esattamente ciò di cui hai bisogno, in primo luogo non trasferisce il documento. Restituirà sempre lo stesso codice risultato di "GET", per definizione.
La sintassi per utilizzare il metodo HEAD
con wget
è un po 'strano: abbiamo bisogno di utilizzare l'opzione --spider
. In questo contesto, fa solo quello che vogliamo: accedi all'URL con "HEAD" anziché "GET".
Possiamo usare l'opzione -q
(quiet) per wget
non produrre dettagli su ciò che fa.
Combinando ciò, wget
non verrà emesso nulla su stderr, né verrà salvato un documento.
wget -q --spider 'http://example.com/'
Il codice di uscita ci dice se la richiesta ha avuto esito positivo o meno:
$ wget -q --spider 'http://example.com/'
$ echo $?
0
$ wget -q --spider 'http://example.com/nonexisting'
$ echo $?
8
Per un comando crontab
, il fatto che in entrambi i casi non sia presente alcun output significa che è possibile utilizzare nuovamente l'output come indicazione di errori.
Il comando di esempio verrà modificato in questo:
*/5 * * * * wget -q --spider mysite.com
Questo ha gli stessi vantaggi di wget -O /dev/null -o /dev/null example.com
. Il vantaggio aggiuntivo è che l'output del registro e l'output del documento non vengono generati, anziché generati e scartati localmente. O ovviamente la grande differenza sta nell'evitare di scaricare e quindi scartare il documento index.html
.
wget
da un terminale e altrimenti è se viene visualizzata una barra di avanzamento.