É possível baixar arquivos extremamente grandes de forma inteligente ou em partes via SSH do Linux para o Windows?

É possível baixar arquivos extremamente grandes de forma inteligente ou em partes via SSH do Linux para o Windows?

Eu tenho um arquivo de aproximadamente 35 GB em um servidor Linux Ubuntu remoto. Localmente, estou executando o Windows XP, então estou me conectando ao servidor Linux remoto usando SSH (especificamente, estou usando um programa do Windows chamadoCliente SSH Secure Shellversão 3.3.2).

Embora minha conexão de banda larga com a Internet seja muito boa, o download do arquivo grande geralmente falha com uma Connection Lostmensagem de erro. Não tenho certeza, mas acho que falha porque talvez minha conexão com a Internet caia por um ou dois segundos a cada várias horas. Como o arquivo é muito grande, o download pode levar de 4,5 a 5 horas e talvez a conexão com a Internet caia por um ou dois segundos durante esse longo período. Acho que isso porque baixei com sucesso arquivos desse tamanho usando a mesma conexão com a Internet e o mesmo software SSH no mesmo computador. Em outras palavras, às vezes tenho sorte e o download termina antes que a conexão com a Internet caia por um segundo.

Existe alguma maneira de baixar o arquivo de maneira inteligente - em que o sistema operacional ou software "sabe" onde parou e pode continuar a partir do último ponto se ocorrer uma interrupção na conexão com a Internet?

Talvez seja possível baixar o arquivo em seções? Embora eu não saiba se posso dividir convenientemente meu arquivo em vários arquivos - acho que isso seria muito difícil, pois o arquivo é binário e não é legível por humanos.

Como está agora, se todo o download do arquivo de aproximadamente 35 GB não terminar antes da interrupção da conexão, terei que reiniciar o download e substituir o pedaço de aproximadamente 5 a 20 GB que foi baixado localmente até agora.

Você tem algum conselho? Obrigado.

Responder1

Minha solução 'adequada' seria encontrar e corrigir o que causa o problema, mas essas coisas podem funcionar como soluções alternativas:

  1. use split ( man split -- divide um arquivo em pedaços). Parece estar instalado na maioria dos sistemas Unix.
  2. Divida o arquivo via dd (dd if=inputfilename of=file_part0 skip=0 bs=500MB). (repita com skip=1 e um nome de arquivo diferente.)
  3. Use um programa que possa retomar o download. FTP funcionaria (mas eca. Senhas de texto simples, controle separado e conexão de dados que não funcionam bem com a maioria dos firewalls)
  4. Trapacear e mover o arquivo para um diretório da web. A maioria dos brosers suporta a retomada de um download,

Responder2

Eu usei rsync --partialno Cygwin no Windows. Funciona muito bem.

Responder3

Oprotocolo bittorrentlidaria bem com essa tarefa, embora possa não ser o mais fácil de configurar.

Responder4

Você poderiadividiro arquivo em pedaços menores e depois remonte-os na outra extremidade. Alternativamente, se você tiver um daemon FTP ou HTTP em execução, você poderá executar o download através do daemon, sendo que ambos geralmente suportam a retomada do download.

informação relacionada