Erstens wird die Anzahl der Dateien in diesem Fall ein wichtiger Faktor sein. Die durchschnittliche Größe beträgt jeweils 3 MB. Es gibt wahrscheinlich einen Engpass, der die Geschwindigkeit im OP-Fall beeinflusst. Mehr hier - das ist eine ziemlich trockene Lektüre, aber das Titelbild ist es wert.
Verwenden Sie also rsync, um in ein leeres Verzeichnis zu kopieren? Hier sind einige Möglichkeiten, um es zu beschleunigen:
- Nein -z - benutze definitiv nicht -z wie im OP.
- --no-compress beschleunigt Sie möglicherweise. Dies könnte den größten Einfluss haben ... Mein Test bestand aus 13.000 Dateien, einer Gesamtgröße von 200 MB und der Verwendung von rsync 3.1.3. Ich habe mit einer anderen Partition auf demselben internen SSD-Laufwerk synchronisiert. Mit --no-compress bekomme ich 18 MBit / s und ohne 15 MBit / s. cp erreicht übrigens 16 MBit / s. Das ist jedoch eine viel kleinere durchschnittliche Dateigröße. Außerdem - Ich kann keine Dokumentation für --no-compress finden. Ich habe davon in diesem Beitrag auf stackexchange.com erfahren.
- - Zum Kopieren ganzer Dateien - Verwenden Sie diese Option immer, wenn Sie nicht möchten, dass Unterschiede verglichen werden. Es macht nichts, dass der Sinn von rsync darin besteht, Unterschiede zu vergleichen und nur die Änderungen zu aktualisieren.
- -S um mit spärlichen Dateien gut umzugehen - kann nicht schaden, wenn Sie keine spärlichen Dateien haben.
- --exclude-from oder ähnliches zum Ausschließen von Dateien, die Sie möglicherweise nicht benötigen, verkürzt die Zeit, erhöht jedoch nicht Ihre Übertragungsgeschwindigkeit.
- Es ist möglich, dass Sie die Ausgabe an eine Datei wie diese senden
rsync -a /source /destination >/somewhere/rsync.out 2>/somewhere/rsync.err
- die erste> druckt im Grunde genommen eine Datei mit allem, was Sie normalerweise sehen würden, und die zweite> verweist auf Fehlermeldungen.
- Schließlich kann es eine große Hilfe sein , mehrere Instanzen von rsync für verschiedene Teile Ihrer Übertragung auszuführen.
Mein Befehl wäre:
rsync -avAXEWSlHh /source /destination --no-compress --info=progress2 --dry-run
Wenn alles gut aussähe, würde ich "--dry-run" löschen und loslassen. A, X und E decken erweiterte Attribute und Berechtigungen ab, die nicht von -a abgedeckt werden. L steht für weiche Links, H steht für harte Links und h steht für vom Menschen lesbare.
Das Aktualisieren eines bereits synchronisierten Verzeichnisses auf einem USB-Laufwerk oder demselben Laufwerk oder über ein Netzwerk erfordert unterschiedliche rsync-Befehle, um die Übertragungsgeschwindigkeit zu maximieren.
Bonus - hier ist die rsync-Manpage , und wenn Sie die Geschwindigkeit Ihrer Festplatte testen möchten, ist Bonnie ++ eine gute Option, und für Ihre Netzwerkgeschwindigkeit versuchen Sie es mit iperf .
* Der Beitrag ist fast zehn Jahre alt, aber Suchmaschinen mögen ihn auf jeden Fall, und ich sehe ihn immer wieder. Es ist eine gute Frage, und ich denke nicht, dass die beste Antwort auf die Frage, wie Sie rsync beschleunigen können, "Verwenden Sie stattdessen cp" sein sollte.