Faça o download anexando após alguma conclusão de porcentagem

1

Eu sempre uso wget -c para baixar um arquivo que permite o download anexando sempre que necessário da última posição de download.

Um arquivo é baixado 30% . Em seguida, após a ocupação da rede, ele começou a anexar algum lixo ao arquivo no final e chegou até 40% . (Junk adicionado devido à lógica do servidor de arquivos para dar dados ruins depois de 30mins ).

Agora, tenho um novo local de URL com algum novo token disponível para o próximo 30mins para o mesmo arquivo. Como posso continuar fazendo o download do mesmo arquivo, mas começando de 30% onwards?

Ou há 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, por exemplo, se pode ser feito. não há nada como esse argumento em wget

    
por Pradeep Patro 18.04.2017 / 15:56

3 respostas

1

wget -c / --continue sempre continua com o tamanho do arquivo dado, mas você pode mudar isso:

Use truncate para reduzir o arquivo de volta ao original 30% size (você precisa especificar o tamanho em bytes ou kbytes). Ou você pode usar head -c SIZE file > file_30pc , que não toca no arquivo original (mas você precisa renomeá-lo).

E, como sugerido pelo BlueManCZ, talvez você queira usar -O output-file para garantir que seja o mesmo arquivo.

Observação: Usando --start-pos em vez de -c/--continue para especificar a última boa posição, não funcionará, em vez disso, cria um novo arquivo a partir dessa posição. não anexa um existente (ele irá até mesmo sobrescrever se você especificar -O ).

    
por 18.04.2017 / 18:04
0

Se você precisar continuar baixando o mesmo arquivo de outra 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 eu não sei, se é responder exatamente ao seu problema.

    
por 18.04.2017 / 18:00
0

você pode tentar uma outra ferramenta Linux incrível chamada aria2 aqui é o que você precisa fazer para continuar seu 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 vezes infinitas      -o informa ao arquivo de saída

experimente aria2 é um dos melhores programas de download para Linux

    
por 18.04.2017 / 18:43