Você pode redirecionar a saída do wget para / dev / null (ou NUL no Windows):
wget http://www.example.com -O /dev/null
O arquivo não será gravado em disco, mas será baixado.
Estou usando o programa wget
, mas não quero salvar o arquivo html que estou baixando. Eu quero que seja descartado depois de ser recebido. Como eu faço isso?
Se você não deseja salvar o arquivo e aceitou a solução de baixar a página em /dev/null
, suponho que esteja usando o wget para não obter e analisar o conteúdo da página .
Se a sua real necessidade é desencadear alguma ação remota, verifique se a página existe e assim por diante, eu acho que seria melhor evitar o download da página do corpo html em tudo.
Jogue com wget
opções para recuperar apenas o que você realmente precisa, ou seja, cabeçalhos http, status da solicitação, etc.
assumindo que você precisa verificar se a página está ok (ou seja, o status retornado é 200), você pode fazer o seguinte:
wget --no-cache --spider http://your.server.tld/your/page.html
se você quiser analisar cabeçalhos retornados pelo servidor, faça o seguinte:
wget --no-cache -S http://your.server.tld/your/page.html
Consulte a página de manual do wget para mais opções para jogar.
Consulte também lynx
uma alternativa para wget.
$ wget http://www.somewebsite.com -O foo.html --delete-after
Caso você também queira imprimir no console, o resultado que você pode fazer:
wget -qO- http://www.example.com
Outra alternativa é usar uma ferramenta como curl
, que por padrão envia o conteúdo remoto para stdout
em vez de salvá-lo em um arquivo.
Confira a opção "-spider". Eu o uso para garantir que meus sites estejam ativos e me enviem um e-mail caso não estejam. Esta é uma entrada típica do meu crontab:
46 */2 * * * if ! wget -q --spider http://www.rochesterflyingclub.com/ >/dev/null 2>&1; then echo "Rochester Flying Club site is down" ; fi
Para uma caixa * NIX e usando wget
, sugiro ignorar a gravação em um arquivo. Eu notei na minha caixa Ubuntu 10.04 que wget -O /dev/null
fez com que o wget abortasse os downloads após o primeiro download.
Também notei que wget -O real-file
faz com que o wget esqueça os links reais na página. Insiste em que index.html
esteja presente em cada página. Tais páginas podem nem sempre estar presentes e o wget não se lembrará dos links que viu anteriormente.
mkdir /dev/shm/1
cd /dev/shm/1
wget --recursive --relative --no-parent ...
Observe que não há nenhuma opção -O file
. O wget irá escrever no diretório $ PWD. Neste caso, é um sistema de arquivos apenas tmpfs . Escrever aqui deve ignorar a rotatividade de discos (dependendo do espaço de troca) e acompanhar todos os links. Isso deve rastrear todo o site com sucesso.
Depois, claro,
rm --recursive --force /dev/shm/1/*
Use a opção --delete-after, que exclui o arquivo após o download.
Editar: Oops, acabei de notar que já foi respondida.