„Rsync” ze zdalnego na lokalny

14

Powiedzmy, że mam 2 maszyny:

  • lokalny (centos)
  • zdalny na IP: 123.123.123.123 port ssh 456 (serwer Ubuntu)

i chcę zsynchronizować mój folder zdalny /home/wolfy/pyz folderem lokalnym /home/cavo/python.

Czy można to zrobić rsync? Czy możesz podać mi przykład?

Wolfy
źródło

Odpowiedzi:

18

Spróbuj tego:

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

Pamiętaj, że końcowe ukośniki na ścieżkach są bardzo ważne, sygnalizują, że synchronizujesz katalog z katalogiem. -ePrzełącznik pomaga rsyncwiedzieć, że będzie przy użyciu sshtransportu, a jednocześnie jesteśmy określając transportu możemy również powiedzieć co ssh portu to będzie trzeba użyć, aby porozmawiać z odległego miejsca. Następnie nazwa użytkownika i zdalny host ip są określone jako część celu.

Caleb
źródło
działa idealnie :) dzięki za szczegółowe wyjaśnienie!
Wolfy,
1
Końcowy ukośnik jest ważny tylko w źródle, a nie w miejscu docelowym.
enzotib
2
Jestem zdezorientowany, czy ta kopia z lokalnego na zdalny? Według stackoverflow.com/a/9090859/277267 jest na odwrót.
Daniel F
@DanielF Tak to robi. Podejrzewam, że właśnie to OP rozumiał przez jego pytanie. Zwróć uwagę na jego użycie „z” i niekonwencjonalne sformułowanie. Jeśli naprawdę chcesz zsynchronizować zdalny katalog z lokalnym, możesz odwrócić argumenty. Najpierw źródło, a potem cel.
Caleb
@Caleb Tak, ale tytuł mówi „od zdalnego do lokalnego”.
Daniel F
0

Dla tych z nas, którzy lubią pełne rozwiązanie.

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

Pamiętaj, że zawsze masz przy sobie mężczyznę.

$ man rsync
Stóg
źródło