Siempre uso wget -c
para 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 30mins
el 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 / --continue
siempre continúa con el tamaño de archivo dado, pero puedes cambiarlo:
Úselo truncate
para 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-file
para asegurarse de que sea el mismo archivo.
Nota:Usar --start-pos
en lugar de -c/--continue
para 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