Beste rsync-Optionen zum Übertragen von Daten zwischen zwei Macs

Ich bin dabei, meine Daten von meinem alten iMac auf ein brandneues MacBook Pro zu übertragen. Ich würde gerne mit einer Neuinstallation auf B beginnen und nur eine Teilmenge meiner Daten kopieren und Anwendungen von Grund auf neu installieren, also erwäge ich nicht, die Migrationsunterstützung zu verwenden.

Ich denke darüber nach, rsync zu verwenden, um die Arbeit zu erledigen, aber ich bin verwirrt darüber, welche Optionen ich verwenden sollte.

Beim Lesen von Manpages kam ich zu folgendem Ergebnis:

rsync -vazHE --progress -e ssh andrea@imac:/remote/dir /local/dir/ 2> errors.log
  • v: ausführlich
  • a: Archiv, um Zeiten, symbolische Links, Berechtigungen, Gruppen, Besitzer zu behalten und Verzeichnisse rekursiv zu durchsuchen
  • z: um Daten zu komprimieren
  • H: um einen festen Link zu behalten
  • E: um erweiterte Attribute zu behalten
  • Fortschritt: um den Arbeitsfortschritt im Auge zu behalten

Erwäge ich nicht einige andere nützliche Optionen?

Ich habe meine Daten verschoben und der Befehl funktionierte wie ein Zauber. Ich habe einige Beispieldaten mit MD5 überprüft und alles war in Ordnung, bis auf den iPhoto-Ordner, wo ich die richtige Größe hatte, aber viel mehr Dateien als erwartet. Ich vermute, dass es einige Links gibt, die nicht korrekt behandelt wurden.
Wenn Sie dies erneut tun, ziehen Sie Truck.app in Betracht. Ich habe es geschrieben, um rsync so einfach wie „Drag and Drop“ zu machen. Es hat gute Standardoptionen, aber wenn Sie es brauchen, können Sie direkt in den Motorraum gehen und alles einstellen :) Probieren Sie es aus, wenn Sie möchten, bonhardcomputing.com/truck

Antworten (2)

Ich persönlich würde eher auf den zSchalter verzichten. Die Komprimierung ist nur bei sehr langsamen Verbindungen (mobile Daten, Einwahl) wirklich nützlich, da die CPU wahrscheinlich zum Engpass wird. Ich habe sicherlich einen Rückgang des Durchsatzes bei aktivierter Komprimierung gesehen.

Angenommen, Ihr Netzwerk ist vertrauenswürdig, täten Sie gut daran, eine effizientere, aber vielleicht weniger sichere SSH-Verschlüsselung zu verwenden, da dies den Vorgang wahrscheinlich ein wenig beschleunigen wird (es hilft sicherlich bei VNC über SSH oder X11-Weiterleitung über SSH).

  • Führen Sie ssh -Q cipheres auf beiden Systemen aus und wählen Sie eine Verschlüsselung aus, die beiden gemeinsam ist
  • Verwenden Sie es mitrsync -vhaHE --progress -e "ssh -c aes256-cbc" andrea@imac:/remote/dir /local/dir/ 2> errors.log

PS: Ich benutze den -hSchalter auch, um mehr menschenlesbare Zahlen in MB/s im Gegensatz zu b/s zu erhalten

Ich weiß, das ist ein alter Beitrag, aber er hat mir sehr geholfen. Erwähnenswert ist, dass der Befehl vom Ziel ausgeführt werden soll, nicht von der Quelle ... es sei denn, Sie schalten die Befehle um (was ich dummerweise zuerst nicht bemerkt habe). Man muss Backups lieben! ;)
@IncredibleHat Ich habe deinen Kommentar gelesen, nachdem ich mich selbst damit befasst habe 😅

Es stellte sich heraus, dass Blowfish und Arcfour aus Sicherheitsgründen (ab OpenSSH 6.7 ) standardmäßig deaktiviert waren, sodass der obige Vorschlag nicht mehr funktioniert.

Die gute Nachricht ist jedoch, dass Sie stattdessen eine der sicheren Chiffren Ihres Systems verwenden können.

Um eine Liste anzuzeigen, führen Sie Folgendes aus: ssh -Q cipherund verwenden Sie dann die Liste Ihrer Wahl:

rsync -azvP --progress -e "ssh -c <insert-cipher-here>" user@hostname:/source /destination
Wenn beide CPUs die AES-NI-Hardwarebeschleunigung unterstützen , sind AES-basierte Chiffren möglicherweise schneller als erwartet. Sie können überprüfen, ob Ihr Mac dies hat, indem Sie ausführen sysctl -a machdep.cpu | grep AES-- wenn er eine Liste von Funktionen druckt, haben Sie die Beschleunigung.