"Rsync" de remoto a local

14

Digamos que tengo 2 máquinas:

  • local (centos)
  • remoto en IP: 123.123.123.123 ssh puerto 456 (servidor ubuntu)

y quiero sincronizar mi carpeta remota /home/wolfy/pycon mi carpeta local /home/cavo/python.

¿Se puede hacer esto con rsync? ¿Puedes darme un ejemplo?

Wolfy
fuente

Respuestas:

18

Prueba esto:

rsync -ave 'ssh -p 456' /home/cavo/python/ [email protected]:/home/wolfy/py/ 

Tenga en cuenta que las barras diagonales finales en las rutas son muy importantes, indican que está sincronizando un directorio con un directorio. El -econmutador ayuda a rsyncsaber que usará el sshtransporte, y mientras especificamos el transporte, también le decimos a ssh qué puerto tendrá que usar para comunicarse con el sitio remoto. Luego, el nombre de usuario y la IP del host remoto se especifican como parte del objetivo.

Caleb
fuente
funciona perfectamente :) gracias por una explicación detallada!
Wolfy
1
La barra diagonal final solo es importante en el origen, no en el destino.
enzotib
2
Estoy confundido, ¿no es esta copia de local a remoto? De acuerdo con stackoverflow.com/a/9090859/277267 es al revés.
Daniel F
@DanielF Sí, lo hace. Sospecho que eso es lo que el OP quiso decir con su pregunta. Tenga en cuenta su uso de "con" y la redacción no convencional. Si realmente desea sincronizar un directorio remoto con uno local, puede revertir los argumentos. Fuente primero luego objetivo.
Caleb
@Caleb Sí, pero el título dice "de remoto a local".
Daniel F
0

Para aquellos de nosotros que nos gusta la solución detallada.

sudo rsync --ignore-existing --recursive username@domain:/location/to/files/ files/

Recuerda que siempre tienes un hombre contigo.

$ man rsync
Almiar
fuente