Synchronisation zwei Ordner

SmokySmiley

Ensign
Registriert
Juli 2012
Beiträge
153
Hallo,

ich hoffe ich bin hier richtig. Ich bin auf der Suche nach einem Tool für Linux, welches das folgenden Szenario löst:

Ich habe zwei Rechner die an getrennten Orten stehen, Verbindung zum Internet besteht über eine schwache DSL Leitung. Auf diesen Rechnern gibt es zwei Ordner die synchronisiert werden sollen. Ein einfacher "rsync --delete A B" ist für diesen Zweck ungeignet, da eine große Datemenge kopiert werden muss und so die Internetverbindung für andere Zwecke lahm gelegt wäre.
Ich suche also ein Programm, das wie rsync arbeitet, aber die zu kopierenden Dateien sowie die Liste der zu löschenden Dateien auf einer externen Festplatte speichert. Bei diesem Szenario werden immer nur Daten von A nach B geschrieben, nicht umgekehrt.

Hat irgendjemand eine Idee oder bereits ein ähnliches Programm geschrieben?

gruß
SmokySmiley
 
Zuletzt bearbeitet:
Besser als rsync wirst du kaum kommen, da dieses, wenn gewünscht, konsequent auf Delta Versionierung und Backup setzt.

Ich kann mir eine Möglichkeit mit rsync vorstellen. Lass rsync laufen (vermutlich nur im Dry Run Modus?), erstelle eine Log File und lasse es dann erneut laufen mit dem Ziel externe Festplatte, nur dass als Dateien nur die verwendet werden, die rsync vorher im Dry Run als updatewürdig identifiziert hat.
 
Bbig schrieb:
google.de -> man resync

==> --backup-dir=Verzeichnis

Gruß Bbig

soweit ich das verstehe, erstellt er mir nur ein Backuparchiv auf der Empfängerseite, das alle Dateien vor dem Löschen beinhaltet. Das löst weder mein Problem noch schohnt es die Internetverbindung.

gruß
Ergänzung ()

andy_0 schrieb:
Ich kann mir eine Möglichkeit mit rsync vorstellen. Lass rsync laufen (vermutlich nur im Dry Run Modus?), erstelle eine Log File und lasse es dann erneut laufen mit dem Ziel externe Festplatte, nur dass als Dateien nur die verwendet werden, die rsync vorher im Dry Run als updatewürdig identifiziert hat.

So habe ich mir das auch vorgestellt, nur habe ich bisher nicht herausfinden können, ob sowas mit rsync möglich ist. Die Alternative wäre ein aufwändiges shell-script oder eben ein Programm zu schreiben. Ich hatte die Hoffnung, dass es sowas bereits gebe könnte. Der Einsatzzweck ist vermutlich öfters gegeben.

gruß
 
Hallo,

rsync kann doch genau das.

rsync -avhzu --delete --bwlimit=100 dira dirb > /log/rsync.log

-a = archivmodus
-v = Ausgabe erzwingen
-h = menschliche Ausgabe
-z = komprimiere bei Kopieren (beschleunigt den Versand)
-u = überspringe vorhandene Daten auf dirb
--delete = löscht auf dirb Dateien die auf dira nicht mehr existieren
--bwlimit = Kopiergeschwindigkeit in KB einstellen

So legst Du eine 1:1 Kopie an. Der Clou ist, dass rsync prüft, welche Dateien auf dirb schon exisierten und überspringt diese. Dadurch sollte sich der Transfer auf ein Minimum reduzieren. Und das was es zu übertragen gibt wird komprimiert und wird Deinerseits durch die vorgegebende Kopiergeschwindigkeit angepasst.

Von daher...rsync ist das Mittel der Wahl.
 
danke für diesen Tipp. Soweit okay, aber pro synchronisation fallen mehrere hundert GB an, dazu müssten beide Rechner ewig laufen um den transfer durchzuführen. Man müsste rsync quasi in einem Simulationsdurchlauf starten um eine fileliste zu erzeugen, die ich dann auf externe platte kopiere.

gruß
SmokySmiley
 
SmokySmiley schrieb:
danke für diesen Tipp. Soweit okay, aber pro synchronisation fallen mehrere hundert GB an

Für diesen Einsatzzweck, Übertragung über DSL, ist das Datenvolumen einfach zu groß. Meherere hundert GB effektive Übertragungsvolumen pro rsync, das würde selbst mit dicken Leitungen den Rahmen sprengen.
 
Dachte ich mir doch, dass da sowas war :) aber das ist trotzdem echt super. Und einfach zu bedienen.
 
Da widerspreche ich dir nicht. Wäre schön wenn es weiter entwickelt worden wäre und am besten mit besseren Server Support, aber ist ja leider nicht :(.
 
Zurück
Oben