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

4

Eu tenho um arquivo ~ 35 GB em um servidor Ubuntu Linux remoto. Localmente, estou executando o Windows XP, portanto, estou me conectando ao servidor Linux remoto usando SSH (especificamente, estou usando um programa do Windows chamado SSH Secure Shell Client versão 3.3.2).

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

Existe alguma maneira que eu possa baixar o arquivo de uma forma inteligente - em que o sistema operacional ou software "sabe" de onde parou e pode retomar 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, já que o arquivo é binário e não é legível por humanos.

Como está agora, se o download completo do arquivo de ~ 35 GB não terminar antes da quebra da conexão, então eu tenho que iniciar o download e sobrescrever o pedaço de ~ 5-20 GB que foi baixado localmente até agora .

Você tem algum conselho? Obrigado.

    
por Andrew 01.07.2012 / 22:05

5 respostas

1

Eu usei rsync --partial no Cygwin no Windows. Isso funciona muito bem.

    
por 07.07.2012 / 00:40
2

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

  1. use split (man split - divida um arquivo em partes). Parece estar instalado na maioria dos sistemas unix.
  2. Divida o arquivo via dd (dd se = nome do arquivo de entrada de = arquivo_part0 pular = 0 bs = 500 MB). (repita com skip = 1 e um nome de arquivo diferente).
  3. Use um programa que possa continuar o download. FTP funcionaria (mas eww. Senhas de texto simples, controle separado e conexão de dados que não são compatíveis com a maioria dos firewalls)
  4. Cheat e mova o arquivo para um diretório da web. A maioria dos brosers suporta retomar um download,
por 01.07.2012 / 23:17
2

O protocolo bittorrent lidaria bem com essa tarefa embora possa não ser o mais fácil de configurar.

    
por 07.07.2012 / 00:44
2

Eu acho que é inteligente (e simples) usar o bom e antigo WinSCP

link

    
por 07.07.2012 / 03:11
1

Você poderia dividir o arquivo em partes menores e, em seguida, remontá-las na outra extremidade. Alternativamente, se você tem um daemon FTP ou HTTP em execução, você deve ser capaz de executar o download através do daemon, ambos geralmente suportam a retomada de download.

    
por 01.07.2012 / 23:14