"Rsync" de remoto para local

14

Digamos que eu tenha 2 máquinas:

  • local (centos)
  • remoto no IP: 123.123.123.123 porta ssh 456 (servidor ubuntu)

e quero sincronizar minha pasta remota /home/wolfy/pycom a minha pasta local /home/cavo/python.

Isso pode ser feito rsync? Você pode me dar um exemplo?

Wolfy
fonte

Respostas:

18

Tente o seguinte:

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

Observe que as barras finais nos caminhos são muito importantes, elas sinalizam que você está sincronizando um diretório para um diretório. O -eswitch ajuda a rsyncsaber que vai usar o sshtransporte e, enquanto especificamos o transporte, também dizemos ao ssh qual porta ele precisará usar para conversar com o site remoto. Em seguida, o nome de usuário e o IP do host remoto são especificados como parte do destino.

Caleb
fonte
funciona perfeitamente :) obrigado por uma explicação detalhada!
Wolfy
1
A barra à direita é importante apenas na origem, não no destino.
enzotib
2
Estou confuso, essa cópia não é do local para o remoto? De acordo com stackoverflow.com/a/9090859/277267 , é o contrário.
Daniel F
@DanielF Sim, sim. Eu suspeito que é isso que o OP quis dizer com sua pergunta. Observe seu uso de "with" e as palavras não convencionais. Se você realmente deseja sincronizar um diretório remoto com um local, pode reverter os argumentos. Origem primeiro e destino.
Caleb
@ Caleb Sim, mas o título diz "de remoto para local".
Daniel F
0

Para aqueles de nós que gostam da solução detalhada.

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

Lembre-se de que você sempre tem um homem com você.

$ man rsync
Rick
fonte