Das Senden der Dateiliste dauert bei rsync sehr lange

14

Ich versuche, mit rsync einige Dateien von einer internen Festplatte auf ein USB-Laufwerk zu sichern. (Ich arbeite an einem wd mybook world NAS)

Es gibt zwei Ordner, die ich sichern möchte. Ein Musikordner und ein Videoordner. Der Musikordner (864 Dateien, ungefähr 10 GB) funktionierte in ungefähr 1 Stunde einwandfrei (für den vollständigen Fortschritt).

Der Videoordner (1025 Dateien, ca. 700 GB) befindet sich derzeit jedoch noch 8 Stunden lang auf "Liste inkrementeller Dateien senden". Ich glaube nicht, dass etwas übertragen wurde. Was könnte einen solchen Unterschied verursachen? Der Videoordner enthält nicht mehr so ​​viele Dateien. Ja, es ist viel größer, aber das sollte keinen Unterschied bei der Erstellung der Dateiliste machen, denke ich.

Ich benutze diesen rsync Befehl:

/shares/extern # rsync -avPc --stats /shares/Public/Shared\ Videos /shares/extern/

Seitdem ich an einem NAS arbeite, habe ich nicht so viel CPU-Leistung, aber ich denke, es ist viel zu lange.

Was denkst du, ist dieses Verhalten normal? Gibt es Vorschläge, was ich tun kann, um das Ganze ein bisschen zu beschleunigen?

Ich verwende rsync 3.0.2

Graslandpinguin
quelle
2
Bitte geben Sie keine Antworten in den Fragekörper ein. Sie können eine eigene Antwort hinzufügen, wenn keine aktuellen Antworten korrekt sind, oder die Antworten anderer Personen kommentieren, wenn Sie etwas hinzuzufügen haben. Vielen Dank!
Caleb

Antworten:

25

Die -cOption zwingt rsync, eine Prüfsumme für alle Dateien zu berechnen. Dies bedeutet, dass der Inhalt aller Videodateien gelesen wird, bevor entschieden wird, welche kopiert werden sollen. Das ist offensichtlich langsam.

Ziehen Sie in Betracht, diese Option nach Möglichkeit zu entfernen. Sie brauchen es nur in seltenen Fällen. Weitere Informationen finden Sie in der Beschreibung auf der Handbuchseite:

Beachten Sie, dass rsync immer überprüft, ob jede übertragene Datei auf der Empfängerseite korrekt rekonstruiert wurde, indem eine Prüfsumme für die gesamte Datei überprüft wird, die beim Übertragen der Datei generiert wird. the-transfer "Muss diese Datei aktualisiert werden?" prüfen.

schnappen
quelle
oh danke für den tipp. Nach dem Lesen der Manpage kann ich sagen, dass ich die Option -c falsch verstanden habe. Dachte, es prüft nach dem Kopieren mit einer Prüfsumme. Danke für die Hilfe!
Graslandpinguin
@CaptnLenz, gerne helfen. Bitte klicken Sie auf das Häkchen links neben meiner Antwort, um meine Lösung zu akzeptieren.
Snap
Ich hatte dieses Problem, weil ich '-archive' und nicht '--archive' an den Befehl rsync übergeben habe. rsync betrachtet '-archive' als eine Variante von -c.
Leons
4
Nur um @Leons Kommentar zu erweitern, wird -archive als -a -r -c -h -i -v -e angesehen, alle gültigen Schalter. Kniffliger kleiner Fehler.
Mark C
Warten Sie, was ist der Unterschied zwischen der Überprüfung der Prüfsumme und der Überprüfung der Dateigröße / des Änderungsdatums? Dauert das Prüfen der Prüfsumme tatsächlich so viel länger als nur das Prüfen der Dateigröße / des Änderungsdatums? Speichert rsync Prüfsummen nach dem ersten Durchlauf oder berechnet es sie alle bei jedem einzelnen Durchlauf von Grund auf neu?
Ken