Wenn sowohl Quelle als auch Ziel remote sind, beklagt sich rsync:
The source and destination cannot both be remote.
rsync error: syntax or usage error (code 1) at main.c(1156) [Receiver=3.0.7]
Gibt es ein unüberwindliches technisches Hindernis dafür, dass rsync dies tut? Oder ist es einfach ein Fall von noch nicht implementiert? Es scheint relativ einfach zu sein, einen lokalen Puffer im Speicher zu erstellen, der die Übertragung zwischen zwei Remotes vermittelt und sowohl Hashes als auch Daten enthält.
BEARBEITEN
Da die Leute einige tangentiale Vorschläge machen, habe ich eine separate Frage gepostet , die meinen speziellen Anwendungsfall beschreibt. Eigentlich sind es zwei, und ich denke, es lohnt sich, diese besonderen Details für rsync zu kennen
Antworten:
Warum nicht versuchen, eine Verbindung zum Remote-Computer herzustellen und die Übertragung von dort aus zu starten? Wenn Sie SSH-Schlüssel verwenden, können Sie den Agentenpass verwenden, um die Authentifizierung für Sie zu verwalten.
Dieser Befehl meldet Sie bei remoteHostA an und führt von dort aus rsync aus.
quelle
hat keine Probleme damit.
quelle
Sie können dies umgehen, indem Sie eines (oder beide) der entfernten Dateisysteme mit mounten
sshfs
. Dann wird es von rsync so behandelt, als wäre es lokal.Leider führt dies zu einer hohen Bandbreitennutzung auf dem Computer, auf dem das Dateisystem eingehängt ist. Daher
sshfs
würde ich empfehlen, dies nur auf dem Computer zu tun, auf dem sich zwischen Ihnen und dem dritten Computer eine hohe Bandbreite befindet.Die ideale Lösung ist natürlich, dass die Maschinen direkt miteinander sprechen. Mir fällt kein guter Grund ein, warum sie es nicht sollten.
quelle