
Con frecuencia transfiero directorios grandes scp
y sería genial si de alguna manera pudiera comprimir el directorio, enviarlo y descomprimirlo todo en uno.
¿Es posible algo como esto?
Respuesta1
¿Qué tal si lo usamos rsync
con la -z
opción habilitada para compresión?
rsync -az --progress source_dir/* remote_host:/destination_dir
Esto también tiene el beneficio adicional de que si el archivo ya existe y no ha cambiado en el destino, no se transferirá.
Respuesta2
Gracias a la respuesta de @johnshen64, pude encontrar algo bastante bueno.
tar -zc path/to/source | ssh user@remote tar -zxC path/to/destination
Desafortunadamente, esto no muestra progreso a medida que se transfiere. He notado increíbles mejoras en la velocidad usando este método.
Si alguien sabe cómo mostrar el progreso de una transferencia como esta, agradecería mucho la ayuda :)
Respuesta3
Bueno, yo usaría tar en su lugar.
tar cf - directorio | servidor ssh 'tar xf -'
puedes agregar v para verificar.
zip debería ser el mismo, pero en mi opinión, tar es más robusto para Linux.