Como contornar cabeçalhos 'modificados pela última vez' ausentes?

12

Eu estou correndo wgetassim:

wget --mirror --adjust-extension --convert-links --no-cookies http://tshepang.net -o log-main

Recebo várias dessas mensagens:

Last-modified header missing -- time-stamps turned off.

Suponho que isso significa que as páginas continuam sendo baixadas novamente, mesmo que eu as tenha localmente.

NOTA : Quero isso para não precisar baixar novamente os arquivos existentes sempre que executar o espelho de comando.

tshepang
fonte
Você é o proprietário da página (se realmente é tshepang.net). Em caso afirmativo, o servidor da web é apache e você tem algum controle de sua configuração? Ou pelo menos o .htaccess está ativado com a substituição de opções permitida?
forcefsck
@forcefsck: Nah, o site é administrado pela Posterous. Eles têm uma API para ler todas as postagens, mas é uma curva de aprendizado para mim esses web tech.
tshepang

Respostas:

9

Você tentou adicionar o -cparâmetro?

Trecho do manual do wget:

-c --continuar

A partir do Wget 1.7, se você usar -c em um arquivo não vazio, e o servidor não suportar o download contínuo, o Wget se recusará a iniciar o download do zero, o que arruinaria efetivamente o conteúdo existente. Se você realmente deseja que o download comece do zero, remova o arquivo.

Começando também com o Wget 1.7, se você usar -c em um arquivo de tamanho igual ao do servidor, o Wget se recusará a baixar o arquivo e imprimir uma mensagem explicativa. O mesmo acontece quando o arquivo é menor no servidor do que localmente (presumivelmente porque foi alterado no servidor desde a última tentativa de download) --- porque '' continuar '' não é significativo, não ocorre nenhum download.

Do outro lado da moeda, ao usar -c, qualquer arquivo maior no servidor do que localmente será considerado um download incompleto e apenas os bytes "(comprimento (remoto) - comprimento (local))" serão baixados e anexados o final do arquivo local. Esse comportamento pode ser desejável em certos casos - por exemplo, você pode usar o wget -c para baixar apenas a nova parte que foi anexada a uma coleta de dados ou arquivo de log.

Que eu saiba, deve pular arquivos que já foram baixados e do mesmo tamanho.

Shinnok
fonte
E se o arquivo for menor?
CJ7