"Rsync" von remote nach lokal

14

Angenommen, ich habe 2 Maschinen:

  • lokal (Centos)
  • remote on IP: 123.123.123.123 ssh port 456 (Ubuntu Server)

und ich möchte meinen Remote-Ordner /home/wolfy/pymit meinem lokalen Ordner synchronisieren /home/cavo/python.

Kann man damit fertig werden rsync? Kannst du mir ein Beispiel geben?

Wolfy
quelle

Antworten:

18

Versuche dies:

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

Beachten Sie, dass die abschließenden Schrägstriche in den Pfaden sehr wichtig sind. Sie signalisieren, dass Sie ein Verzeichnis mit einem Verzeichnis synchronisieren. Der -eSwitch rsynczeigt an, dass sshTransport verwendet wird. Während wir den Transport spezifizieren, teilen wir ssh auch mit, welchen Port er verwenden muss, um mit dem Remote-Standort zu kommunizieren. Dann werden der Benutzername und die IP-Adresse des Remote-Hosts als Teil des Ziels angegeben.

Caleb
quelle
funktioniert einwandfrei :) danke für eine ausführliche erklärung!
Wolfy
1
Der abschließende Schrägstrich ist nur für die Quelle wichtig, nicht für das Ziel.
Enzotib
2
Ich bin verwirrt, nicht diese Kopie von lokal zu fern? Laut stackoverflow.com/a/9090859/277267 ist es umgekehrt.
Daniel F
@ DanielF Ja, das tut es. Ich vermute, das hat das OP mit seiner Frage gemeint. Beachten Sie seine Verwendung von "mit" und die unkonventionelle Formulierung. Wenn Sie ein Remote-Verzeichnis wirklich mit einem lokalen Verzeichnis synchronisieren möchten, können Sie die Argumente umkehren. Quelle zuerst, dann Ziel.
Caleb
@Caleb Ja, aber der Titel sagt "von fern zu lokal".
Daniel F
0

Für diejenigen von uns, die die ausführliche Lösung mögen.

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

Denken Sie daran, dass Sie immer einen Mann bei sich haben.

$ man rsync
Rick
quelle