Reanudar la descarga fallida utilizando la herramienta de línea de comandos de Linux

37

¿Cómo reanudo un archivo parcialmente descargado usando una herramienta de línea de comandos de Linux?

Descargué un archivo grande parcialmente, es decir, 400 MB de 900 MB debido a una interrupción de energía, pero cuando empiezo a descargar nuevamente se reanuda desde cero. ¿Cómo empiezo desde 400 MB?

amolveer
fuente
55
¿Qué línea de comando usaste para descargar el archivo en primer lugar?
Anthon el
3
No responda en un comentario, actualice su pregunta incompleta .
Anthon
1
Si está utilizando curl, debe buscar la -Copción en la página del manual .
HalosGhost

Respuestas:

53

Como no especificó, supongo que está utilizando wgetpara descargar el archivo. Si este es el caso, intente usarlo con la -copción (por ejemplo wget -c <URL>).

Tenga en cuenta que en caso de que el protocolo utilizado sea ftp (la URL parece ftp://...), existe la posibilidad de que el servidor remoto use un demonio ftp antiguo / antiguo que no admite la reanudación de descargas (los demonios ftp más nuevos sí lo admiten durante más de una década) , así que esta es solo una pequeña oportunidad). Sin embargo, si este es el caso, es posible que no tenga suerte. Por otro lado, no debería tener problemas si el protocolo utilizado es http. (ACTUALIZACIÓN: Según otros expertos (incluido Gilles en los comentarios a continuación), la reanudación mientras se usa http también está sujeta al soporte del servidor, por lo que esto se aplica tanto a ftp como a http).

Buena suerte.

Marcelo
fuente
55
Las descargas HTTP solo se pueden reanudar si el servidor lo admite, y eso es más raro que con los servidores FTP.
Gilles 'SO- deja de ser malvado'
Gracias Gilles, solo tuve buenas experiencias con la reanudación mientras usaba http, pero probablemente tengas razón y tengo suerte. Actualizará mi respuesta.
Marcelo
wget -c http:...ha funcionado los 3 o 4 servidores que lo he probado.
Bob Stein
Dios te bendiga hombre!
aprendiz
3
@Gilles: En realidad, esta es ahora una opción común con cualquier contenido estático de servidores más nuevos que ~ 2010 (en otras palabras, la mayoría de los servidores permiten solicitudes Range para archivos estáticos de forma predeterminada). Para datos generados dinámicamente, esto es realmente raro.
Piskvor
0

Sé lo que significa la pregunta original, y la respuesta no es wget -c ...

El escenario se puede describir así:

# Start mirroring a site
wget -m http://...
# 400MB later wget died or interrupted,
# don't know where it left off, don't care,
# just want to get the remaining 100MB without getting the first 400MB again
wget -nc -r -l inf --no-remove-listing http://...

Las opciones "-r -l inf --no-remove-listing" son equivalentes a -m sin el parámetro -N. Al agregar el parámetro -nc, evite guardar los primeros 400 MB que ya están en su disco duro.

Michael Chen
fuente