Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>Daten kopieren per Terminal - ditto bricht ab

Daten kopieren per Terminal - ditto bricht ab

konnektor04.01.2211:07
Hallo zusammen und noch ein gutes Neues Jahr!

Ich habe früher gerne ditto verwendet, weil es unter allen Umständen durchgelaufen ist und nur die Fehler aufgelistet hat.
Nun nach längerer Zeit wieder mal ein Versuch und es scheint so, dass es auf einem M1 Mac mini mit aktuellem System nicht mehr so reibungslos funktioniert. ditto beendet den Vorgang, wenn es in den Fehler
No such file or directory
läuft. Den Fehler zu beheben in dem ich die beschädigten Dateien lösche, wäre zu aufwendig. Ich benötige also einen Befehl, der den Fehler zu Dokumentationszwecken auflistet aber darüber hinweg geht.

Vielen Dank im Voraus für Hinweise.
0

Kommentare

macaldente
macaldente04.01.2217:32
Prosit Neujahr, konnektor

Ich würde nicht nur fürs Backup, sondern auch für Kopieren immer rsync verwenden, und zwar nicht das in macOS integrierte, welches aus Lizenzgründen nur die Version 2.7.x erlaubt, sondern die Version 3.2.x die man über Homebrew auf der Konsole installiert.

Es gibt gute Anleitungen (Artikel / Vidoes) im Web über rsync, vermutlich auch in diesem Forum.
+4
konnektor05.01.2209:55
Vielen Dank für den Tip. Allerdings scheint mein Problem von der hartnäckigen Sorte zu sein. Dort wo ditto einfach aufgibt reißt rsync den Rechner in den Abgrund.
Bei den beschädigten Dateien scheint es sich um Ordner zu handeln, die aus irgend einem Grund nicht mehr als solche erkennbar sind und nur noch als weißes Blatt ohne Dateikennzeichnung da stehen.

Wenn es keine Möglichkeit gibt die Dateien zu übergehen, gibt es eine Möglichkeit sie vorab aufzuspüren und löschen zu lassen?

Oder zumindest ein ein Argument, das ditto nicht immer von Vorne beginnen lässt?
0
micheee05.01.2210:36
Hi konnektor,
tldr: ganz am Ende ist eine schnelle Lösung, die vielleicht schon ausreicht

wenn du möchtest, könntest du etwas spezifischer sein was die Fehlermeldungen angeht? In den Abgrund reissen kann irgendwie alles bedeuten

Auch interessant wäre, ob du eine Vermutung hast warum die Dateien und Ordner korrupt sind?
Haben wir es mit einer kaputtgehenden SD-Karte zu tun?
Hast du mal fsck / oder das Festplattendienstprogramm laufen & ggf. reparieren lassen.
Falls du eine kaputte Festplatte vermutest, könntest du auch versuchen die Festplatte / SD-Karte erstmal zu kopieren bevor noch mehr kaputt geht.
ddrescue (gibt's in Home-brew) würde sich dafür anbieten; damit kannst du erstmal eine Kopie des Datenträgers in ein Image erstellen und dabei die kaputten Bereiche überspringen.


Mit welchen Optionen hast du rsync aufgerufen? Ich würde es wie folgt aufrufen:
rsync -Pav --ignore-errors /quellpfad/a /zielpfad/b
  • -P => show Progress
  • -a => Archive-Mode: rekursiv kopieren, Attribute erhalten
  • -v => verbose
  • --ignore-errors =>
könnte einen Versuch wert sein.

Ditto kennt leider kein Argument um nicht von vorne zu beginnen, wenn du im Terminal "man ditto" schreibst, siehst du was ditto für Argumente nimmt.

Alternativ könntest du statt eines einzigen ditto Kommandos auch für jede Datei ein einzelnes Ditto Kommando aufrufen — da ditto die nette Eigenschaft hat Ordnerhierachien anlegen zu können, würde sowas sicher funktionieren:
find /Users/michael/tmp/quelle -type f -exec  ditto {} /Users/michael/tmp/mybackup{} \;

Das generiert für jede einzelne Dateien ein Kopierkommando — und zwar in der Form:

ditto /Users/michael/tmp/mtn/DSC06014.jpg /Users/michael/tmp/mybackup/Users/michael/tmp/mtn/DSC06014.jpg
+7
konnektor06.01.2211:30
Es geht um gut 12TB an Daten aus >10 Jahren. Der Kopiervorgang geht von altem Server mit externem Festplatten-Array zu neuem Server mit externem Festplatten-Array und der Kopierbefehl wurde am neuen Server eingegeben.
Die Fehlermeldung bei ditto ist No such File or Directory
Bei rsync gibt es keine Fehlermeldung. Der Server hängt sich komplett auf, ist glücklicherweise aber per SSH zum Neustart zu bewegen. In der wiederhergestellten Terminal-Sitzung steht der rsync-Befehl, als ob nichts geschehen wäre.

Der Weg über ditto einzelne Kopierbefehle zu generieren schein mir vielversprechend und ich werde zuerst einmal diesen verfolgen.
Herzlichen Dank!
+1
konnektor06.01.2220:17
Zwischenmeldung, denn der Kopiervorgang wird noch dauern.
Es klappt! Die Fehler tauchen auf aber der nächste ditto-Befehl wird trotzdem ausgeführt.
+2
micheee07.01.2200:02
Top, freut mich wenn ich helfen konnte und ich drücke die Daumen, dass es durchläuft!

P.S. danke für die Rückmeldung, da macht das helfen noch etwas mehr Spaß
+1
macaldente
macaldente07.01.2211:17
Man lernt gerne was dazu ⎋⌘
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.