Descargue agregando después de un cierto porcentaje de finalización

Descargue agregando después de un cierto porcentaje de finalización

Siempre uso wget -cpara descargar un archivo que permite la descarga agregando cuando sea necesario desde la última posición de descarga.

Se descarga un archivo 30%. Luego, después de la ocupación de la red, comenzó a agregar algo de basura al archivo al final y llegó hasta 40%. (Se agregó basura debido a la lógica del servidor de archivos para proporcionar datos basura después 30mins).

Ahora, tengo una nueva ubicación de URL con un token nuevo disponible para 30minsel próximo archivo. ¿Cómo puedo seguir descargando el mismo archivo pero empezando desde 30%adelante?

¿O hay alguna aplicación que haga eso?

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%'es sólo un ejemplo, si se puede hacer. No existe nada parecido a ese argumento enwget

Respuesta1

wget -c / --continuesiempre continúa con el tamaño de archivo dado, pero puedes cambiarlo:

Úselo truncatepara reducir el archivo al 30%tamaño original (debe especificar el tamaño en bytes o kbytes). O puedes usar head -c SIZE file > file_30pc, que no toca el archivo original (pero luego tienes que cambiarle el nombre).

Y como sugirió BlueManCZ, es posible que desee utilizarlo -O output-filepara asegurarse de que sea el mismo archivo.

Nota:Usar --start-posen lugar de -c/--continuepara especificar la última buena posiciónnofunciona, en su lugar crea un nuevo archivo desde esa posición en adelante, no agrega uno existente (incluso lo anulará si especifica -O).

Respuesta2

Si necesita continuar descargando el mismo archivo desde otra URL (o un archivo renombrado), debe especificar el nombre del archivo en su 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]

Pero no sé si es la respuesta exactamente a tu problema.

Respuesta3

Puedes probar otra increíble herramienta de Linux llamada aria2. Esto es lo que debes hacer para reanudar la descarga.

aria2c -c -m 0 -o "myfile.zip" "http://example.com/file.zip"

aquí -c indica que continúe con la descarga anterior -m indica que reintente la descarga infinitas veces -o indica el archivo de salida

pruébalo aria2 es uno de los mejores programas de descarga para Linux

información relacionada