"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?

Respostas:


18

Tente o seguinte:

rsync -ave 'ssh -p 456' /home/cavo/python/ wolfy@123.123.123.123:/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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.