Ordner mit fehlerhaften Dateien am Mac kopieren
Wenn ich versuche, groĂźe Ordner zu kopieren, bricht der Finder von macOS den Vorgang mit der Fehlermeldung ab, dass eine Datei fehlerhaft sei. Gibt es ein Tool, das wenigstens alle heilen Dateien kopiert und die fehlerhaften ignoriert?
Ja, sogar mehrere, allesamt sind kostenlos – und arbeiten im Terminal (zu finden im Ordner Programme unter "Dienstprogramme"). Die einfachste Methode:
ditto [Quelle] [Ziel]
Der ditto-Befehl kopiert sämtliche Inhalte des Quellen-Ordners in den Ziel-Ordner. Existiert der Zielordner noch nicht, legt er ihn an. Liegen im Zielordner bereits gleichnamige Objekte, werden sie überschrieben.
Damit Sie sich nicht vertippen, geben Sie lediglich „ditto“ (mit abschließendem Leerzeichen) ein und ziehen dann aus dem Finder zunächst den Quell- und dann den Zielordner auf das Terminalfenster.
Mit Antippen der Return-Taste starten Sie den Kopiervorgang. Erst wenn im Terminal wieder die Standard-Eingabezeile erscheint, ist der Prozess abgeschlossen.
ditto-Befehl ĂĽbernimmt alle macOS-typischen Metadten
Das Besondere an ditto: Es übernimmt standardmäßig Mac-typische Metadaten wie Ressource Fork, Extended Attributes und ACL. Außerdem unterbricht es so gut wie nie den Kopierprozess, sondern meldet Problemdateien und fährt dann fort.
Wer ein genaues Protokoll des Kopierprozesses benötigt, gibt
ditto -V [Quelle] [Ziel]
ein und erhält eine Bestätigung für jede einzelne kopierte Datei. Bricht der Kopiervorgang dann doch einmal ab, lässt sich leicht nachvollziehen, welche Datei das Problem verursacht hat. Einen ähnlichen Effekt hat
cp -crv [Quelle] [Ziel]
Allerdings kopiert der cp-Befehl nicht den Inhalt, sondern den gesamten Ordner ans Ziel. Also geben Sie hier als Zielordner den Ăśberordner an, in dem der kopierte Inhalt landen soll.
Kopiervorgang vom Mac zu Linux-Server per rsync
Läuft der Kopiervorgang übers Netz, etwa vom Mac zu einem Linux-Server, empfiehlt sich der plattformübergreifend funktionierende Befehl rsync. Dabei entscheidet ein Schrägstrich hinter dem Quelllaufwerk darüber, ob der Ordner oder sein Inhalt kopiert wird:
rsync -av Dateien Volumes/Backup/Dateien_Backup_18
kopiert den Ordner „Dateien“ in den Ordner „Dateien_Backup_18“ auf dem Backup-Laufwerk, während der Befehl
rsync -av Dateien/ Volumes/Backup/Dateien_Backup_18
(mit Schrägstrich hinter „Dateien“) den Inhalt des Ordners „Dateien“ in den Ordner „Dateien_Backup_18“ überträgt.
Protokoll ĂĽber Kopiervorgang ausgeben
Das v (engl. verbose) steht für das ausführliche Protokoll, das direkt im Terminalfenster ausgegeben wird. Wollen Sie die höchstwahrscheinlich umfangreichen Meldungen in eine Datei ausgeben, hängen Sie &>protokoll.txt
an Ihren Befehl an. In Ihrem aktuellen Verzeichnis (standardmäßig der Benutzerordner) entsteht dann eine Datei namens „protokoll.txt“, in der jede Dateikopie protokolliert wird.
Falls der Befehl mit der Meldung „Operation not permitted“ abbricht, müssen Sie sich für den Kopiervorgang als Administrator authentifizieren. Dafür setzen Sie „sudo“ vor den Befehl, gleich, ob Sie ditto, cp oder rsync verwenden. Also etwa sudo ditto [Quelle] [Ziel]
.
Die defekten Dateien müssen nicht komplett verloren sein; eventuell kann das Programm „ddrescue“ die Dokumente reparieren. Wie Sie dazu vorgehen und was Sie beachten müssen, lesen Sie im Artikel zu Mac-Ersthilfe durch Datenrettung mit Gratis-Tools aus Mac & i Heft 2/2015. (imj)