Você diz que precisa apenas da resposta "200 OK" em um comentário.
Isso permite a solução com algumas vantagens adicionais sobre as de
wget -O /dev/null -o /dev/null example.com
. A idéia não é descartar a saída de alguma forma, mas não criar nenhuma saída.
O fato de você precisar apenas da resposta significa que os dados baixados no arquivo local index.html não precisam ser baixados em primeiro lugar.
No protocolo HTTP, o comando 'GET' é usado para baixar um documento . Para acessar um documento de uma maneira que faça tudo, exceto o download do documento, existe um comando especial 'HEAD'.
Ao usar 'GET' para esta tarefa, o documento é baixado e descartado localmente. Usar 'HEAD' faz exatamente o que você precisa; ele não transfere o documento em primeiro lugar. Sempre retornará o mesmo código de resultado que 'GET', por definição.
A sintaxe para usar o método HEAD
comwget
é um pouco estranho: é preciso usar a opção --spider
. Nesse contexto, ele apenas faz o que queremos - acesse a URL com 'HEAD' em vez de 'GET'.
Podemos usar a opção -q
(quiet) para wget
não produzir detalhes sobre o que ele faz.
Combinando isso, wget
não produzirá nada para stderr nem salvará um documento.
wget -q --spider 'http://example.com/'
O código de saída informa se a solicitação foi bem-sucedida ou não:
$ wget -q --spider 'http://example.com/'
$ echo $?
0
$ wget -q --spider 'http://example.com/nonexisting'
$ echo $?
8
Para um comando in crontab
, o fato de não haver saída nos dois casos significa que você pode usar a obtenção de saída como uma indicação de erros novamente.
Seu comando de exemplo seria alterado para isso:
*/5 * * * * wget -q --spider mysite.com
Isso tem as mesmas vantagens que wget -O /dev/null -o /dev/null example.com
. A vantagem adicional é que a saída do log e a saída do documento não são geradas, em vez de geradas e descartadas localmente. Ou é claro que a grande diferença é evitar o download e descartar o documento index.html
,.
wget
partir de um terminal e o contrário é se uma barra de progresso é exibida.