Transferir um arquivo por uma conexão SSH instável


23

Estou tentando fazer o upload de alguns arquivos grandes (cerca de 10 GB) com uma velocidade de upload lenta (200kb / s) em uma conexão SSH frequentemente desconectada (devido a más condições de rede).

Estou tentando usar scp, mas se há uma maneira melhor de SSH, eu estou bem com isso.

Qual é a melhor maneira de fazer isso?

Tentei dividi-lo em várias partes usando split, mas não é realmente eficiente, pois requer muito trabalho manual antes e depois da transferência.


2
rsync é melhor. É reinicializável - o que significa que você pode continuar de onde parou se a conexão for desconectada. Você provavelmente desejará usar a --partialbandeira. E, por padrão, ele roda sobre ssh. Você pode combinar com um programa de compactação agressivo como o 7z, mas precisará de bastante memória e ainda levará um tempo.
Faheem Mitha

Eu tentei com --partial, mas apenas
estrelou

"estrelas acabadas"? Você quer dizer que começa de novo? Estas são as bandeiras que eu uso: rsync -abvz --partial. Você pode mostrar uma sessão de exemplo?
Faheem Mitha

@FaheemMitha Eu tentei reproduzi-lo, mas parece estar funcionando agora ...
blue112

Não é possível retomar um upload com scp. É possível retomar um upload com rsync --partial. Não é possível retomar um upload com sftp. Para a outra direção, ou seja, retomar downloads, você pode usar rsync --partial, sftp regetou sftp get -a.
pts

Respostas:


32

Use rsync com a opção --partial

rsync -av --partial sourcedir user@desthost:/destinationdir

O --partial manterá os arquivos parcialmente transferidos. Quando você retoma a transferência rsync após uma conexão ssh interrompida, os arquivos parcialmente transferidos começam a ser retomados a partir do ponto em que a conexão ssh foi perdida e os arquivos transferidos com êxito também não serão transferidos novamente.

Considere também passar a opção -z se você acredita que os arquivos que você está transferindo podem ser compactados significativamente; por exemplo, arquivos de log compostos por texto repetido.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.