Wie synchronisiere ich Millionen von Dateien „richtig“ mit rsync und inotify?

7

Angenommen, ich habe 1 Million Dateien, die Dateiliste würde ungefähr 20 MB groß sein. Wenn ich nur eine Datei hinzufüge, inotifywerden Sie rsyncaufgefordert, die Dateiliste und die neue Datei zu übertragen. Mein Netzwerk ist nicht gut und ich muss möglicherweise die Bandbreite begrenzen ( --bwlimit).

Es können mehrere Dateien gleichzeitig hinzugefügt werden, und angesichts der Netzwerkübertragungsgeschwindigkeit werden möglicherweise mehrere Rsyncs gleichzeitig ausgeführt.

Lohnt es sich? Gibt es einen besseren Weg?

Seanlook
quelle

Antworten:

11

Ihr Fall klingt genau das, wofür lsyncd gemacht wurde.
Es überwacht das Verzeichnis mit inotify und erzeugt einen rsync nur mit den geänderten Dateien.
Es aggregiert Änderungen für einige Sekunden.
Wenn Sie also 5 Änderungen in einer Sekunde vornehmen, wird nur ein neuer Synchronisierungsprozess für die Zielserver ausgelöst.

Schwindler
quelle
Ja, ich habe lsyncd ausprobiert und es passt zu mir.
Seanlook
@ Seanlook Wie ist die Leistung mit 1 Million Dateien?
GCB
2
@gcb Ich habe ein Setup mit einem ziemlich anständigen Server und> 1 Million Ordnern (nicht, dass lsyncd Ordner überwacht, keine Dateien!) und es dauerte ~ 2 Tage, um sogar die vollständige Startsynchronisierung durchzuführen der begrenzende Faktor sein.
Izzy