Der schnellste und sicherste Weg, um massive Daten von einem externen Laufwerk auf ein anderes zu kopieren

85

Ich muss in der Lage sein, ca. 2 TB Daten von einem externen Laufwerk (einzelne externe USB-Festplatte) auf ein anderes externes Laufwerk (über Firewire angeschlossenes Drobo) zu kopieren.

Finder ist keine Option. Wenn es auf ein Problem stößt, stoppt es den Prozess und ich muss herausfinden, warum es fehlgeschlagen ist und von vorne anfangen. Es könnte Monate dauern, bis ich damit fertig bin.

Ich habe etwas über CP und RSYNC gelesen, bin aber nicht so vertraut und befürchte, dass ich einige der Schalter falsch einsetze und Dateien verpasse, die Dateidaten vermassle oder das Schlimmste ...

Kann jemand vorschlagen, wie ich dies mit minimalem Risiko und minimalen Kosten realisieren kann?

Swisher Sweet
quelle
Beginnend mit MacOS 10.13.4+, die Sie tatsächlich können Finder große Dateien kopieren (und alle zugehörigen Links). Ich habe gerade versucht, eine andere Time Machine-Sicherungsdiskette (von einer vorhandenen) zu erstellen, und sie funktioniert schnell und einwandfrei. Offenbar vor 10.13.4, dies war ein Fehler , aber das ist behoben worden. Weitere Informationen in dieser Antwort: apple.stackexchange.com/a/323691/261070 .
Youngrrrr
Die Antwort darauf hängt davon ab, wie Sie "am schnellsten" definieren. Möchten Sie die schnellste Übertragungsgeschwindigkeit oder die kürzeste Zeit zwischen dem Beginn und der Beendigung der Bearbeitung durch einen Menschen? Die Zeit, die Sie benötigen, hängt davon ab, ob das Terminal Sie erschreckt oder nicht. Die ideale Antwort für Sie hängt auch davon ab, ob es sich um eine einmalige oder eine häufig wiederholte Operation handelt und ob Sie bereit sind, Geld auszugeben oder nicht.
Iconoclast

Antworten:

143

Die Remote-Synchronisierung rsyncist eine zuverlässige Option zum Kopieren großer Datenmengen. Sie können den Befehl vorbereiten und einen Probelauf ausführen, bevor Sie die Kopie übernehmen. addieren --dry-run, um die Kopie zu simulieren.

Ihr letzter Befehl wird ziemlich einfach sein:

sudo rsync -vaE --progress /Volumes/SourceName /Volumes/DestinationName

Die Flaggen sind:

  • v erhöht die Ausführlichkeit.
  • a Wendet Archiveinstellungen an, um die Quelldateien genau zu spiegeln, einschließlich symbolischer Links und Berechtigungen.
  • E kopiert erweiterte Attribute und Resource Forks (nur OS X).
  • progress Bietet eine Countdown- und Übertragungsstatistik während des Kopiervorgangs.

sudo, wird verwendet, um sicherzustellen, dass rsyncSie unabhängig vom Eigentümer über die entsprechenden Rechte verfügen, um auf alle Dateien auf Ihrem Laufwerk zuzugreifen und diese zu lesen. Dies ermöglicht auch rsyncdas Schreiben der Dateien auf das neue Laufwerk, wobei die ursprünglichen Eigentümerinformationen wiederhergestellt werden.

rsync ist wahrscheinlich die beste Wahl, da sie bei Problemen erneut ausgeführt werden kann, eine detaillierte Protokollierung bietet und so schnell wie möglich ist, während sie sicher bleibt.

Es gibt zahlreiche Führungen , um das Beste aus rsync, rsync Befehl Beispiele liefert relevante Beispiele. Achten Sie, wie @GordonDavisson unten ausführt, auf die abschließenden Schrägstriche. Diese können einen großen Unterschied machen, wenn Ihre Kopie mit einem Ordner beginnt.

Alternative Tools umfassen dittound cp. Beide Optionen sind vernünftig, bieten jedoch eine unterschiedliche Syntax.

Graham Miln
quelle
5

Ich habe Bittorrent Sync verwendet, um 8 TB zwischen meinem Drobo und QNAP zu synchronisieren.

Nate Black
quelle
Bittorrent Sync ist auch eine Möglichkeit, dies zu tun. Die Downvotes werden (meiner Meinung nach) nicht wirklich benötigt.
CousinCocaine
6
@CousinCocaine ja, aber die Frage war, wie man etwas macht, nicht welche App man benutzt.
Dillon
@Dillon: Zu wissen, welche App zu verwenden ist , ist manchmal 99% von dem, was Sie wissen müssen, um zu wissen, wie es geht.
Iconoclast
3

Ich habe hier vor einiger Zeit eine ähnliche Frage beantwortet . Meine Antwort wird unten kopiert.


Ich benutze cp -Rfv sourcefile destinationfilemit Erfolg regelmäßig.

cp = kopieren

R = pflegt Dateihierarchien

f = Wenn eine vorhandene Zieldatei nicht geöffnet werden kann, entfernen Sie sie und versuchen Sie es erneut

v = ausführlicher Modus, zeigt Dateien an, die während des Fortschritts übertragen werden

sourcefile = Daten, die Sie kopieren möchten

destinationfile = Verzeichnis / Laufwerk, in das kopiert werden soll

Mr Rabbit
quelle
9
Es ist jedoch zu beachten, dass cp Dateien auch dann erneut kopiert, wenn sie nicht geändert wurden, wohingegen rsync keine Zeit mit dem Kopieren von Dateien verschwendet, die bereits auf dem Ziel vorhanden sind. Auf diese Weise können Sie an der Stelle neu starten, an der Sie aufgehört haben, und / oder inkrementelle Kopiervorgänge ausführen.
David
Kann hinzufügen -n, dass bereits vorhandene Dateien nicht kopiert werden, und -palle Berechtigungen, einschließlich erweiterter Attribute und Ressourcenzweige, beibehalten werden, sofern dies möglich ist.
Spinup
3

Der "schnellste" Weg wäre, beide Laufwerke physisch so zu verschieben, dass sie sich innerhalb eines einzelnen Computers befinden, die Kopie (oder rsync) durchzuführen und sie dann zurück zu verschieben.

Ich würde immer noch rsync verwenden, da rsync die Dateien, die bereits erfolgreich waren, nicht erneut kopiert, wenn sie aus irgendeinem Grund unterbrochen werden (cat tritt auf den Netzschalter?). Es werden auch keine Dateien kopiert, die identisch sind und sich am selben Ort befinden.

WGroleau
quelle
Beachten Sie, dass dies aufgrund der Größe des Datensatzes schneller ist . Wenn es viel kleiner wäre, würde der Geschwindigkeitsvorteil durch das Bewegen der Laufwerke aufgehoben.
WGroleau
Nein, schneller für eine große Datenmenge. Bei einer kleinen Datenmenge ist die Kopie immer noch schneller, aber die Zeit, die zum Verschieben der Laufwerke benötigt wird, hebt diese auf. Unter NON-Perfect-Bedingungen ist dies jedoch möglicherweise schneller, da rsync bei einer Unterbrechung das erneute Kopieren der vor der Unterbrechung durchgeführten Kopiervorgänge vermeiden kann.
WGroleau
Wenn die Übertragungsgeschwindigkeit höher ist, Sie aber durch eine Unterbrechung von vorne beginnen, ist der gesamte Vorgang wahrscheinlich nicht schneller, und es kommt auf den gesamten Vorgang an. "Perfekte Bedingungen" = nichts unterbricht den Prozess . Nach meiner Erfahrung ist es sehr verbreitet, dass etwas passiert, das bei einem massiven Transfer ein Problem verursacht. Deshalb bezeichne ich eine ununterbrochene Übertragung als "perfekt".
Iconoclast
Wenn Sie wie gesagt rsync verwenden, führt eine Unterbrechung nicht zu einem Neustart.
WGroleau
Sie verstehen nicht, was ich in diesem Zusammenhang unter "neu anfangen" verstehe. Ich bin mir der Tatsache bewusst, dass rsync dort weitermachen kann, wo es beim Synchronisieren von Daten aufgehört hat. Wenn Sie jedoch einen Befehl absetzen und dieser nicht ausgeführt werden kann, beginnen Sie erneut mit dem Eingreifen des Menschen, wodurch der gesamte Vorgang länger dauert. Entweder verschwendest du deine Zeit damit, das Ganze zu babysitten, oder es gibt eine große Verzögerung zwischen dem Scheitern und dem Zeitpunkt, an dem du es entdeckst. Was für einen Menschen wichtig ist , ist die Zeit des gesamten Prozesses und die Zeit des menschlichen Eingreifens.
Iconoclast
1

Wenn Sie Laufwerk A genau auf Laufwerk B kopieren möchten, können Sie dies mit dem Festplatten-Dienstprogramm tun.


Wir werden die Wiederherstellungsfunktion von Disk Utility verwenden . Einige Hintergrundinformationen zum Unterschied zwischen Wiederherstellen und Kopieren und Einfügen:

Die Wiederherstellungsfunktion im Festplatten-Dienstprogramm verwendet eine Blockkopierfunktion , die den Kopiervorgang beschleunigen kann . Es wird auch eine fast exakte Kopie des Quellgeräts erstellt . Wenn wir "fast genau" sagen, wollen wir nicht implizieren, dass nützliche Daten zurückbleiben, da dies nicht der Fall ist. Dies bedeutet, dass eine Blockkopie alles in einem Datenblock von einem Gerät auf das andere kopiert . Das Ergebnis ist fast eine exakte Kopie des Originals. Bei einer Dateikopie werden die Daten dagegen Datei für Datei kopiert, und während die Dateidaten gleich bleiben, ist der Speicherort der Datei auf dem Quell- und dem Zielgerät wahrscheinlich sehr unterschiedlich .

Die Verwendung einer Blockkopie ist schneller , hat jedoch einige Einschränkungen, die sich auf die Verwendbarkeit auswirken. Das Wichtigste ist, dass beim blockweisen Kopieren sowohl das Quell- als auch das Zielgerät zuerst von Ihrem Mac abgemeldet werden müssen. Dadurch wird sichergestellt, dass sich die Blockdaten während des Kopiervorgangs nicht ändern. Mach dir aber keine Sorgen; Sie müssen nicht aussteigen. Die Wiederherstellungsfunktion von Disk Utility erledigt das für Sie. Dies bedeutet jedoch, dass weder die Quelle noch das Ziel verwendet werden können, wenn Sie die Wiederherstellungsfunktionen verwenden .

Quelle: https://www.lifewire.com/use-disk-utility-to-clone-macs-drive-4042367


Anleitung

zum Kopieren aller Dateien von Gerät A auf Gerät B

WARNUNG : Wenn Sie ein Volume auf einem anderen wiederherstellen, werden alle Dateien auf dem Zieldatenträger gelöscht. Kopieren Sie vor dem Wiederherstellen eines Volumes alle Dateien auf dem Zieldatenträger, die Sie auf einem anderen Datenträger speichern möchten.

  1. Wählen Sie "Ansicht"> "Alle Geräte anzeigen".
  2. Wählen Sie das Volume in der Seitenleiste aus, das Sie wiederherstellen möchten, und klicken Sie dann auf die Schaltfläche "Wiederherstellen" Bildbeschreibung hier eingebenoder wählen Sie "Bearbeiten"> "Wiederherstellen".

Dies ist das Volume, das gelöscht wird und zur exakten Kopie wird. [Gerät B]

  1. Klicken Sie auf das Einblendmenü "Wiederherstellen" und wählen Sie das zu kopierende Volume aus [Gerät A].
  2. Klicken Sie auf Wiederherstellen und dann auf Fertig.

Quelle: https://support.apple.com/guide/disk-utility/restore-a-disk-dskutl14062/mac

JBis
quelle
Das Kopieren von Blöcken sperrt auch die Zeit für das Kopieren des freien Speicherplatzes und schlägt fehl, wenn das Ziel einen Block kleiner als die Quelle ist. (Kann auf eine Weise fehlschlagen, die nicht sofort erkannt wird.) Wenn das Ziel größer ist, wird der zusätzliche Speicherplatz unbrauchbar.
WGroleau,
@WGroleau können Sie erweitern auf "der zusätzliche Speicherplatz wird unbrauchbar"
JBis
Die Blockkopie enthält den Block, in dem angegeben ist, welcher Block der letzte ist. Wenn das Ziel groß genug für die Daten, aber kleiner als die Quelle ist, sind nach Ansicht des Betriebssystems Blöcke verfügbar, die nicht vorhanden sind. Wenn das Ziel größer ist, glaubt das Betriebssystem, dass die zusätzlichen Blöcke nicht vorhanden sind.
WGroleau,
@WGroleau nur, damit ich Sie richtig verstehe, wenn ich ein 500-GB-Laufwerk mit einer einzelnen 1-GB-Datei und Blockkopie auf ein 1000-GB-Laufwerk habe, was wird passieren? Und können Sie die Website verlinken?
JBis
Schauen Sie sich die Manpage für 'dd' an. Es werden 500 GB kopiert, aber die meisten 499 GB sind leer. Der Teil, der nicht nur für das Betriebssystem sichtbar ist, gibt an, dass Sie über ein 500-GB-Laufwerk verfügen. Schauen Sie sich auch "Partition Map" und "Volume Map" an
WGroleau
0

Wenn Sie die Befehlszeilenroute nicht verwenden möchten, synchronisiere ich mit der FreeFileSync- App routinemäßig 2 TB Daten von einem externen Array ohne Probleme mit einem Netzwerkspeicherort. Sie können steuern, wie Fehler behandelt werden, und ein Protokoll abrufen, wenn der Vorgang abgeschlossen ist.

Brad L.
quelle