Eu sempre utilizo wget -c
para baixar um arquivo que possibilita o download anexando sempre que necessário da última posição do download.
Um arquivo é baixado 30%
. Então, após a ocupação da rede, ele começou a anexar algum lixo ao arquivo no final e chegou até 40%
. (Lixo adicionado devido à lógica do servidor de arquivos para fornecer dados ruins depois 30mins
).
Agora, tenho um novo local de URL com algum novo token disponível para 30mins
o próximo arquivo. Como posso continuar baixando o mesmo arquivo, mas iniciado a partir de 30%
agora?
Ou existe algum aplicativo que faça isso?
ex:
$ wget -c http://xyz.com/file.txt?token=1
30% [=============> ]
40% [=================> ] (10%junk added)
^C - cancelled
$ wget -c http://xyz.com/file.txt?token=2 --from='30%'
31% [+++++++++++++=> ]
Nota: - --from='30%'
é apenas um exemplo, se puder ser feito. não há nada parecido com esse argumento emwget
Responder1
wget -c / --continue
sempre continua com o tamanho de arquivo fornecido, mas você pode alterar isso:
Use truncate
para reduzir o arquivo de volta ao tamanho original 30%
(você deve especificar o tamanho em bytes ou kbytes). Ou você pode usar head -c SIZE file > file_30pc
, que não altera o arquivo original (mas você terá que renomeá-lo).
E como sugerido pelo BlueManCZ, você pode querer usar -O output-file
para ter certeza de que é o mesmo arquivo.
Observação:Usar --start-pos
em vez de -c/--continue
para especificar a última posição boa iránãofunciona, em vez disso ele cria um novo arquivo daquela posição em diante, ele não anexa um arquivo existente (ele até mesmo substituirá se você especificar -O
).
Responder2
Se precisar continuar baixando o mesmo arquivo de outro URL (ou arquivo renomeado), você deve especificar o nome do arquivo em seu comando.
wget -c -O myfilename https://examle.net/file1.txt
[will be stoped in 30%]
wget -c -O myfilename https://another_url.net/file2.txt
[will start on 30% of previous file]
[file1.txt and file2.txt must be same]
Mas não sei se é a resposta exatamente para o seu problema.
Responder3
você pode experimentar outra ferramenta incrível do Linux chamada aria2, aqui está o que você precisa fazer para retomar o download
aria2c -c -m 0 -o "myfile.zip" "http://example.com/file.zip"
aqui -c diz para continuar o download anterior -m diz para repetir downloads infinitas vezes -o diz ao arquivo de saída
experimente aria2 é um dos melhores downloaders para Linux