Como forçar o redownload com wget?

4

Eu tive a surpresa ruim que o wget não redownload quando um arquivo com o mesmo nome já existe.

Existe uma opção para forçá-lo a baixar novamente sem deletar o arquivo primeiro no linux?

    
por quack quixote 16.01.2010 / 00:44

3 respostas

5
wget -O - $url >/path/to-file

Ou, se você estiver espelhando, pode usar o sinalizador -c . Isso fará com que os arquivos sejam "continuados", mas como eles já estão no tamanho que o servidor está informando ao wget, eles "continuarão" com eles desde o início.

    
por 16.01.2010 / 00:56
2

Depende muito das opções que você deu a wget na linha de comando. Descobri que o comportamento padrão em meus sistemas é baixar novamente, mas acrescentar um número ao nome do arquivo para torná-lo diferente.

Aqui está a descrição da opção --no-clobber de man wget (para o wget 1.11.4) - observe as interações com outras opções, particularmente -r e -p . (Ênfase minha).

-nc
--no-clobber
If a file is downloaded more than once in the same directory, Wget’s behavior depends on a few options, including -nc. In certain cases, the local file will be clobbered, or overwritten, upon repeated download. In other cases it will be preserved.

When running Wget without -N, -nc, -r, or p, downloading the same file in the same directory will result in the original copy of file being preserved and the second copy being named file.1. If that file is downloaded yet again, the third copy will be named file.2, and so on. When -nc is specified, this behavior is suppressed, and Wget will refuse to download newer copies of file. Therefore, ""no-clobber"" is actually a misnomer in this mode---it’s not clobbering that’s prevented (as the numeric suffixes were already preventing clobbering), but rather the multiple version saving that’s prevented.

When running Wget with -r or -p, but without -N or -nc, re-downloading a file will result in the new copy simply overwriting the old. Adding -nc will prevent this behavior, instead causing the original version to be preserved and any newer copies on the server to be ignored.

When running Wget with -N, with or without -r or -p, the decision as to whether or not to download a newer copy of a file depends on the local and remote timestamp and size of the file. -nc may not be specified at the same time as -N.

Note that when -nc is specified, files with the suffixes .html or .htm will be loaded from the local disk and parsed as if they had been retrieved from the Web.

    
por 16.01.2010 / 00:55
-1

Isso é controlado pela opção -nc ou --no-clobber .

É complicado e depende de outras opções, mas você tem a opção de gravar ou renomear arquivos redownloaded file.1, file.2

A página man parece dizer que se você não usar a opção 'no-clobber' , os arquivos redownloads serão renumerados. Você vê arquivos com sufixos numéricos?

De qualquer forma, veja o man page

    
por 16.01.2010 / 00:51