Es posible copiar un directorio de forma recursiva con muchos archivos a traves de la red usando ssh y tar para mantener los permisos y modos de cada archivo y directorio. La primera opción sería generar un tar primero en la maquina de origen y luego transferirlo a la maquina de destino para finalmente desempaquetar el archivo. Sin embargo, todo esto se puede hacer en una linea:
ssh usuario@origen "tar -cvf - /usr/share/request-tracker3.4/" |tar -xvf -
Consiste básicamente en empaquetar con tar (mediante ssh un comando remoto en el servidor origen) y enviar los datos al standar output en ves de a un archivo .tar, luego generar un pipe al comando tar en el equipo local que desempaquetará lo que le llega por el standar input
Nota: El comando es ejecutado en la máquina destino con $PWD en el directorio destinado.
root@destino:/usr/data/request_tracker# pwd
/usr/data/request_tracker
Era lo que estaba buscando… de todas formas me quede con la duda de que tendria de malo este:
tar -cvf – /home/mi.home | ssh root@mi.server "tar -O /varios/03/marcelo -xvf -"
El problema de ese comando es que no te funcionará si no puedes iniciar sesión por ssh como root. Generalmente se deshabilita esa característica por seguridad.