¿Es posible descargar archivos extremadamente grandes de forma inteligente o en partes vía SSH desde Linux a Windows?

¿Es posible descargar archivos extremadamente grandes de forma inteligente o en partes vía SSH desde Linux a Windows?

Tengo un archivo de ~35 GB en un servidor Linux Ubuntu remoto. Localmente, estoy ejecutando Windows XP, por lo que me estoy conectando al servidor Linux remoto usando SSH (específicamente, estoy usando un programa de Windows llamadoCliente de shell seguro SSHversión 3.3.2).

Aunque mi conexión a Internet de banda ancha es bastante buena, la descarga del archivo grande a menudo falla y aparece un Connection Lostmensaje de error. No estoy seguro, pero creo que falla porque quizás mi conexión a Internet se corta durante uno o dos segundos cada varias horas. Dado que el archivo es tan grande, descargarlo puede tardar entre 4,5 y 5 horas, y tal vez la conexión a Internet se corte durante uno o dos segundos durante ese largo tiempo. Creo esto porque descargué con éxito archivos de este tamaño usando la misma conexión a Internet y el mismo software SSH en la misma computadora. En otras palabras, a veces tengo suerte y la descarga finaliza antes de que la conexión a Internet se corte por un segundo.

¿Hay alguna forma de descargar el archivo de forma inteligente, mediante la cual el sistema operativo o el software "sepa" dónde lo dejó y pueda reanudarlo desde el último punto si se produce una interrupción en la conexión a Internet?

¿Quizás sea posible descargar el archivo en secciones? Aunque no sé si puedo dividir cómodamente mi archivo en varios archivos, creo que esto sería muy difícil, ya que el archivo es binario y no es legible por humanos.

Tal como está ahora, si la descarga completa del archivo de ~35 GB no finaliza antes de que se interrumpa la conexión, entonces tengo que comenzar la descarga de nuevo y sobrescribir la porción de ~5-20 GB que se descargó localmente hasta ahora.

¿Tienes algún consejo? Gracias.

Respuesta1

Mi solución "adecuada" sería encontrar y solucionar la causa del problema, pero estas cosas podrían funcionar como soluciones alternativas:

  1. use split (man split: divide un archivo en pedazos). Parece estar instalado en la mayoría de los sistemas Unix.
  2. Divida el archivo mediante dd (dd if=inputfilename of=file_part0 skip=0 bs=500MB). (repita con skip=1 y un nombre de archivo diferente).
  3. Utilice un programa que pueda reanudar la descarga. FTP funcionaría (pero eww. Contraseñas de texto sin formato, control separado y conexión de datos que no funcionan bien con la mayoría de los firewalls)
  4. Haga trampa y mueva el archivo a un directorio web. La mayoría de los brosers admiten la reanudación de una descarga,

Respuesta2

Lo usé rsync --partialen Cygwin en Windows. Funciona muy bien.

Respuesta3

Elprotocolo bittorrentmanejaría bien esta tarea, aunque puede que no sea la más fácil de configurar.

Respuesta4

Tú podríasdividirla lima en trozos más pequeños y luego vuelva a ensamblarlos en el otro extremo. Alternativamente, si tiene un demonio FTP o HTTP en ejecución, debería poder ejecutar la descarga a través del demonio, los cuales generalmente admiten la reanudación de la descarga.

información relacionada