¿Cómo utilizar rsync para copiar archivos entre 2 servidores remotos basados ​​en el servidor localhost?

¿Cómo utilizar rsync para copiar archivos entre 2 servidores remotos basados ​​en el servidor localhost?

Tengo un caso en el que necesito mover datos de un servidor antiguo:anfitrión1a un nuevo servidor:anfitrión2. El problema es que el host1 no puede ver el host2., pero puedo usar otro servidor (servidor local) a SSH tanto para host1 como para host2.

Imagina que debería funcionar así:host1 -> host local -> host2

¿Cómo puedo usar rsync para copiar archivos entre host1 y host2? Probé este comando en el servidor localhost pero diceEl origen y el destino no pueden ser ambos remotos.

 rsync -avz host1:/workspace host2:/rasv1/old_code-de

Respuesta1

Terminé con la solución dehttps://unix.stackexchange.com/users/312074/eblock

con

scp -3 host1 host2

Respuesta2

Puede utilizar el túnel para redirigir el rsync usando ssh.

Comience a iniciar sesión como usuario@host1 y cree el túnel al host2 a través de su "localhost" (llamémoslo "your_host" para evitar confusiones):

ssh <your_host_user>@<your_host> -L 8080:<host2_ip>:22

Mantenga esa terminal abierta, luego en otra terminal del tipo host1:

rsync -avzh -e "ssh -p 8080" <source_file> <host2_user>@127.0.0.1:/<target_folder>

Por supuesto, puedes usar cualquier otro puerto en lugar del 8080. En cuanto a usar otro método que no involucre ssh, creo que es posible, pero no lo probé.

Respuesta3

Hasta donde yo sé, rsync no admite la copia de un servidor remoto a un servidor remoto.

Si solo necesita una copia simple del archivo, puede usar la opción scpwith -3como lo señala @eblock

 

Si necesita rsync, puede montar ambos servidores en la carpeta local consshfs

sshfs user@server1:/path/on/server1 /local/path1
sshfs user@server2:/path/on/server2 /local/path2

Y luego copiar archivos entre carpetas locales:

rsync -av /local/path1 /local/path2

Para desmontar:

fusermount -u /local/path1
fusermount -u /local/path2

Aunque no estoy seguro de la velocidad/rendimiento de sshfs.

información relacionada