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.
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--partial
bandeira. 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.rsync -abvz --partial
. Você pode mostrar uma sessão de exemplo?scp
. É possível retomar um upload comrsync --partial
. Não é possível retomar um upload comsftp
. Para a outra direção, ou seja, retomar downloads, você pode usarrsync --partial
,sftp reget
ousftp get -a
.Respostas:
Use rsync com a opção --partial
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.
fonte