Estoy tratando de cargar algunos archivos grandes (alrededor de 10 GB) con una velocidad de carga lenta (200 kb / s) en una conexión SSH a menudo desconectada (debido a las malas condiciones de la red).
Estoy tratando de usar scp
, pero si hay una mejor manera de usar SSH, estoy de acuerdo.
Cuál es la mejor manera de hacerlo ?
He intentado dividirlo en varias partes usando split
, pero no es realmente eficiente, ya que requiere mucho trabajo manual antes y después de que se transfiera.
rsync
es mejor. Es reiniciable, lo que significa que puede continuar donde lo dejó si su conexión se desconecta. Probablemente quieras usar la--partial
bandera. Y por defecto se ejecuta sobre ssh. Podrías combinarlo con un programa de compresión agresivo como 7z, pero necesitarás mucha memoria y aún te llevará un tiempo.rsync -abvz --partial
. ¿Puedes mostrar una sesión de ejemplo?scp
. Es posible reanudar una carga conrsync --partial
. No es posible reanudar una carga consftp
. Por la otra dirección, es decir, reanudar descargas, se puede utilizarrsync --partial
,sftp reget
osftp get -a
.Respuestas:
Use rsync con la opción --partial
El --partial mantendrá los archivos transferidos parcialmente. Cuando reanude la transferencia de rsync después de una conexión ssh interrumpida, los archivos parcialmente transferidos comenzarán a reanudarse desde el punto donde se perdió la conexión ssh, y también los archivos transferidos con éxito no se volverán a transferir.
También considere pasar la opción -z si cree que los archivos que está transfiriendo se pueden comprimir significativamente; por ejemplo, archivos de registro compuestos de texto repetido.
fuente