Wie kann ich zwei ähnliche, aber nicht identische Ordner zusammenführen?

10

Ich habe einen Ordner (der mit vielen Unterordnern und Dateien gefüllt ist) auf einem FireWire-Laufwerk [Quelle], das ich auf ein USB-Laufwerk [Ziel] verschieben möchte.

Ich versuche, alle Dateien von der Quelle zum Ziel zu verschieben.

Ich habe dies über den Finder begonnen, aber es gab mir einen Berechtigungsfehler, der ungefähr 1/8 des gesamten Vorgangs ausmachte, und wurde dann gestoppt.

Beim Verschieben von Dateien zwischen Laufwerken führt der Finder meines Erachtens zuerst eine 'Kopie' durch und entfernt dann die 'Quelle' nur, wenn der Kopierbefehl erfolgreich abgeschlossen wurde.

Das bedeutet , dass einige Dateien wurden erfolgreich kopiert, aber ich habe keine Ahnung , welche sind oder wie viele. Also habe ich angefangen , Unterordner von Quelle zu Ziel (kleinere Sätze) zu kopieren und sie von Quelle zu entfernen, wenn sie erfolgreich kopiert wurden.

Ich konnte diesen Prozess nicht in einer Sitzung abschließen und verlor meinen "Platz"

Jetzt bleiben mir also zwei unvollständige Datensätze. Die Quelle enthält wahrscheinlich einige Dateien / Ordner, die sich bereits auf dem Ziel befinden, aber nicht alle wurden kopiert.

Einige der Ordner wurden möglicherweise teilweise kopiert, aber nicht alle Unterordner usw.

Ich versuche, den besten Weg zu finden, um den Rest der Quelle zum Ziel zu verschieben und gleichzeitig die Duplizierung zu minimieren. Wir sprechen hier über eine Menge Daten (Quelle ist 420,72 GB in 398.127 Elementen und Ziel ist 298,84 GB und 390.149 Elementen), also werde ich offensichtlich versuchen müssen, dies irgendwie zu automatisieren . Ich bin mir nur nicht sicher, wie.

Ich dachte ich über gcp[GNU cp] mit --update --archiveoder dittooder rsyncoder ChronoSync aber ich bin einfach nicht sicher , was die beste Option ist , und welche Einstellungen sollte ich für je nachdem , was Programm wäre zu empfehlen (ich will --archivemit gcp? Welche Flaggen würde ich mit dittooder rsync?)

TJ Luoma
quelle
Diese Software ist erstaunlich: bombich.com (Carbon Copy Cloner). Löst alle Ihre Probleme.
Kassym Dorsel
CCC oder SuperDuper helfen mir nur, das zu duplizieren, was ich habe, oder? Ich muss sie zuerst zusammenführen.
TJ Luoma
Es kann verschmelzen. Sie müssen die Einstellungen selbst anpassen. dh diese Einstellungen anpassen / erweiterte Einstellungen
Kassym Dorsel
Ah ... das wusste ich nicht. Werde es auf jeden Fall ausprobieren.
TJ Luoma

Antworten:

14

Sie können Terminal öffnen und eine der folgenden Methoden verwenden ( rsync ist wahrscheinlich die richtige für Sie, wenn Sie etwas möchten, das nicht vollständig verloren geht, wenn Sie den Vorgang anhalten ):

Der Standard-UNIX-Weg

cp -R -v source/. destination

Der geeky UNIX Weg (neustartfähig)

rsync -vaEW source/ destination

Der OSX "einfache" Weg

ditto -V source destination

Quelle


quelle
1
Würde dieser Befehl 'cp' nicht Softlinks unterbrechen? Beispielsweise scheinen Mac-Apps manchmal Links innerhalb des .app-Wrappers zu verwenden. (Links sind für mich immer das große Unbekannte, wenn ich das versuche.) Guter Punkt zu rsync, das ist vielleicht der beste Plan, da (bei so vielen Daten) die Möglichkeit einer Unterbrechung erheblich ist.
TJ Luoma
1

Wenn Sie FileMerge aus den Entwicklertools in den beiden Verzeichnisbäumen verwenden, können Sie sehen, welche einzelnen Dateien kopiert wurden, da sie sich unterscheiden und die Unterschiede anzeigen.

Andernfalls rsynckönnte es ein bisschen automatisierter sein, wie oben von cksum erwähnt.

SJT
quelle