Ich möchteEin WegSynchronisieren Sie große Verzeichnisse zwischen zwei Maschinen ohne direkte Verbindung. Verwenden Sie dazu entweder einen Cloud-Speicher (ohne Rechenleistung), der mit beiden Maschinen verbunden ist, oder ein Zwischenspeichergerät (wie eine Festplatte, ein Flash-Laufwerk, keine andere Maschine), das abwechselnd mit den Maschinen verbunden werden kann.
Wichtig zu beachten ist, dass auf dem Zwischenspeicher nicht genügend Speicherplatz für den gesamten Ordner vorhanden ist, jedoch nicht genug für die Übertragung der größten Datei.
Ich stelle mir den Ablauf so vor:
- Auf dem Zielcomputer: Erstellen Sie einen Snapshot des Zielordners und legen Sie ihn im freigegebenen Speicher ab.
- Auf dem Quellcomputer: Vergleichen Sie die Struktur des Quellordners mit dem Snapshot vom gemeinsam genutzten Speicher und verschieben Sie alle fehlenden Dateien mit Metadaten in den gemeinsam genutzten Speicher (begrenzt durch den verfügbaren Speicherplatz auf dem gemeinsam genutzten Speicher).
- Auf dem Zielcomputer: Dateien aus dem freigegebenen Speicher kopieren und angeben, ob der Ablauf wiederholt werden soll.
Gibt es bereits eine Lösung, um so etwas von der macOS-/Linux-Shell aus zu tun?
Antwort1
Benutz einfachRsyncauf dem Zwischengerät.
Rsync eignet sich perfekt für eine Aufgabe wie diese: Machen Sie die Quelle zur Quellmaschine und das Ziel zur Zielmaschine, und schon kann es losgehen.
Der Befehl würde etwa so lauten:
rsync -avz user@source_machine.local:/source/directory/ user@destination_machine.local:/destination/directory/
Dies sollte ohne Bedenken hinsichtlich des Speicher-Overheads auf dem Zwischencomputer funktionieren, da bei Verwendung von Rsync alles zu einer Netzwerkaufgabe wird, die nur die CPU- und Netzwerkressourcen auf diesem Zwischencomputer nutzt.
Beide Optionen erfordern jedoch, dass auf den Quell- und Zielcomputern ein Betriebssystem läuft. Ein einzelner Cloud-basierter „dummer“ Speicher oder ein einfaches externes Speichergerät wie ein USB-Flash-Laufwerk können nicht „überbrückt“ werden, ohne dass zwischen ihnen ein Betriebssystem läuft.
Sie benötigen letztendlich auf beiden Seiten der Gleichung ein Betriebssystem. Und vielleicht kann ein Zwischengerät das Cloud-Gerät mounten und dann das externe Speichergerät wie einen USB-Stick mounten und dann können Sie einfach Rsync ausführen und schon sind Sie im Geschäft.