Ich versuche, meine Time Machine-Sicherungsdateien alle unter Backups.backupdb auf ein anderes Laufwerk zu verschieben. Ich habe über Nacht eine Dateikopie initiiert (b/c habe ich gesehen, dass OSX ewig brauchte, um sich auf die Kopie vorzubereiten ... es hat im Grunde genommen die Dateien stundenlang gezählt). Am Morgen sah ich, dass nur bestimmte Backups (Ordner mit Datum) kopiert wurden. Ich habe dann versucht, diejenigen zu kopieren, die nicht kopiert wurden ... aber das Betriebssystem erlaubte mir das nicht. Ich habe folgende Fehlermeldung erhalten: „Der Vorgang kann nicht abgeschlossen werden, da Sicherungselemente nicht geändert werden können.“ Mein Plan ist es also, die unvollständige Kopie auf dem neuen Laufwerk zu löschen und dann erneut zu versuchen, über den Ordner Backups.backupdb zu kopieren.
Ziemlich frustrierend. Gibt es eine schnellere Möglichkeit, diese Dateien über einen Terminalbefehl zu kopieren, damit nicht die gesamte Vorbereitung zum Zählen von Dateien durchgeführt wird?
Ich kann wahrscheinlich den gesamten Ordner tarnen und dann eine Kopie erstellen, aber wird das die Dateiberechtigungen usw. beeinträchtigen? Die eine Sache bei diesem Ansatz ist, dass ich auf meinem Quellvolume keinen Platz mehr für den Tar habe.
AKTUALISIEREN
Ich habe einige der unten vorgeschlagenen Methoden ausprobiert, insbesondere die Wiederherstellungsfunktion des Festplatten-Dienstprogramms, und es gibt mir einige Fehlermeldungen und unerwartete Ergebnisse (zumindest für mich). Ich habe versucht, die Wiederherstellung auf zwei Arten durchzuführen:
Ich habe dann versucht, die Festplatte zu überprüfen/reparieren und bekam:
Ungültige B-Tree-Knotengröße Überprüfen des aufgezeichneten HFS Plus-Volumens. Ungültige B-Tree-Knotengröße Volume-Reparatur abgeschlossen. Bootunterstützungspartitionen für das Volume nach Bedarf aktualisieren. Fehler: Das Festplatten-Dienstprogramm kann diese Festplatte nicht reparieren. Sichern Sie so viele Ihrer Dateien wie möglich, formatieren Sie die Festplatte neu und stellen Sie Ihre gesicherten Dateien wieder her.
Ich weiß nicht, ob ich überhaupt eine TM-Diskette überprüfen/reparieren soll ...
Konnte nicht wiederhergestellt werden - Vorgang nicht erlaubt
Eine normale Kopie (oder Kopie über rsync oder ditto) repliziert eine Time Machine nicht vollständig, da sie zwei miteinander verknüpfte Verzeichnisse (wie es bei aufeinanderfolgenden TM-Sicherungen ohne Änderung dazwischen vorkommt) in zwei separate Verzeichnisse konvertiert.
Der beste Weg ist, die gesamte Festplatte mit dem Festplattendienstprogramm oder dem Blockkopierteil von Carbon Copy Cloner und wahrscheinlich ähnlich auf SuperDuper zu kopieren .
rsync
(oder ditto
) den latest
Ordner in Backups.backupdb
.Bei der Migration eines vollständig mit Time Machine verschlüsselten 3-TB-Laufwerks auf ein neues 8-TB-Laufwerk unter macOS 10.14 stieß ich auf alle möglichen Probleme. Beim Versuch, eine Wiederherstellung im Festplatten-Dienstprogramm durchzuführen, kam es zu einem Fehler mit „Quelle konnte nicht validiert werden“ oder „Vorgang nicht zulässig“. Beim Ausprobieren einiger anderer Vorschläge in diesem Beitrag und anderen konnte ich aufregende neue Fehlermeldungen wie „Katalogdatei auf Bild/Volume ist zu stark fragmentiert“ erhalten, aber keine Kopie.
Was am Ende funktioniert hat, am Terminal:
diskutil cs list
im Terminal, um die genaue Bytegröße des logischen Volumens auf dem alten Laufwerk und die GUID des neuen logischen Volumens sowie die Plattennummern für beide zu erhalten, z . B. disk4
.Verwenden Sie die genaue Bytegröße aus Schritt 2 als Größe des neuen Volumes. In meinem Fall mit einem 3-TB-Laufwerk waren es 2.999.772.905.472 Bytes:
sudo diskutil cs resizeVolume $new_lv_guid 2999772905472
Erstellen Sie mit dem pv
Befehl von Homebrew eine Low-Level-Blockkopie der Festplatten. Dies ist der Verwendung von sehr ähnlich dd
, außer dass Sie mit ETA eine Fortschrittsanzeige erhalten.
Sie müssen die Datenträgernummern aus der diskutil cs list
Ausgabe abrufen. Vorsichtig sein. Es ist sehr einfach, Ihr vollständiges Backup-Laufwerk versehentlich mit dem neuen leeren hier zu überschreiben.
sudo sh -c "$(which pv) --buffer-size 50M -s 2999772905472 < /dev/rdisk${source} > /dev/rdisk${target}"
Wenn Sie hier den Fehler „Berechtigung verweigert/Operation nicht zulässig“ erhalten, gehen Sie zu den Sicherheits- und Datenschutzeinstellungen und fügen Sie „Vollständiger Festplattenzugriff“ für „Terminal.app“ hinzu.
Bei mir hat das etwa 10 Stunden gedauert – ich habe es über Nacht laufen lassen – aber mit pv
bekommt man immerhin eine Fortschrittsanzeige mit ETA.
Erweitern Sie nun das Volume, um den gesamten verbleibenden Speicherplatz auf dem Laufwerk zu belegen:
sudo diskutil cs resizeVolume $new_lv_guid 0
Das hat bei mir ~ 3 Stunden gedauert, mit ungefähr 5 Jahren Backups. Die meiste Zeit wurde mit macOS-Ingenieur verbracht fsck
.
Jetzt können Sie Ihr neues, geräumigeres Time Machine-Laufwerk genießen. Sie können das alte wiederverwenden oder an einem sicheren Ort verstauen, falls dem neuen Laufwerk etwas zustößt.
Die Schritte zur Größenänderung scheinen wichtig zu sein; Das Überspringen führte zu einer 10-stündigen Dateikopie, die ein 8-TB-Volume mit einem 3-TB-Dateisystem ergab, dessen Größe ich nicht ändern konnte.
UPDATE Ein möglicher Nachteil dieses Ansatzes besteht darin, dass die Kennungen zwischen der alten und der neuen Festplatte identisch sind, da es sich um eine Bit-für-Bit-Kopie handelt. Wenn ich die alte volle Festplatte anschließe, denkt Time Machine, dass es die neue Festplatte ist, versucht zu sichern und beginnt, alte Sicherungen zu löschen, um Platz für neue zu schaffen. Es scheint ein guter Ansatz zu sein, um Daten auf eine größere Festplatte zu verschieben, wo die ältere kleinere Festplatte dann gelöscht wird.
cs
alias Corestorage aktiviert ist? Das Aktivieren des Kernspeichers scheint ein potenziell unnötiger PITA zu sein , kann jedoch aufgrund des Anleitungsschritts 3 erforderlich sein.sudo sh -c "$(which pv) --buffer-size 50M -s 3000249008128 < /dev/rdisk3 > /dev/rdisk5"
- Die Größe von 8 TB wurde zuvor erfolgreich geändertResized Core Storage Logical Volume to 3,000,249,008,128 bytes
Warum nicht einfach Terminal verwenden:
cp -RnpP Backups.backupdb
-R
rekursiv-n
nicht überschreiben (falls noch vorhandene Kopierreste vom vorherigen Versuch vorhanden sind)-p
Bewahren Sie ACLs, Berechtigungen, Erstellungs-/Änderungsdaten usw.-P
Hardlinks beibehalten, keinen Hardlinks oder Symlinks folgen.man cp
für macOS. Der reguläre cp
Befehl, der mit macOS geliefert wird, kopiert keine festen Links mit -P. Die Manpage sagt tatsächlich: "Beachten Sie, dass cp fest verknüpfte Dateien als separate Dateien kopiert. Wenn Sie feste Links beibehalten müssen, sollten Sie stattdessen tar (1), cpio (1) oder pax (1) verwenden."Nach dem +1-Kommentar zu Super Duper! , hier sind die Spezifikationen (sie passten nicht in einen Kommentar):
12.250.329 Dateien ausgewertet, 10.408.594 Dateien kopiert. Effektive Kopiergeschwindigkeit 8,68 MB/s.
für das Klonen eines magnetischen 2-TB-Backup-Laufwerks mit mehreren Jahren Backups in diesem Jahr (2019).
Dies dauerte insgesamt 63 Stunden (der Infobildschirm stellte seine Uhr alle 24 Stunden zurück, sodass am Ende 15:04:43 angezeigt wurde) im Gegensatz zu einer Finder-Kopie, die ich nach ungefähr 4 Tagen und einem Viertel der Dateien abbrach.
Offensichtlich war die Magnetplatte nicht der Grund dafür, dass es so lange gedauert hat. Der Grund, warum Finder-Kopien auf langlebigen Backup-Festplatten stecken bleiben, ist die schiere Anzahl von kaskadierenden symbolischen Links auf unveränderten Dateien, insbesondere für viele kleine Dateien wie Git-Indizes.
Ich hatte heute das gleiche Problem. Ich habe das alte Drag & Drop meines TM-Backups von meinem alten externen Laufwerk auf ein neues ausprobiert. Fast drei Stunden später lag die Anzahl der Dateien bei weit über 1.000.000 und es wurde immer noch „vorbereitet“, sie zu verschieben.
Hier ist, was ich getan habe, und es dauerte weniger als eine Stunde!
Starten Sie den Mac im Wiederherstellungsmodus neu und wählen Sie das Festplatten-Dienstprogramm
Wählen Sie das neue Laufwerk in der Seitenleiste des Festplattendienstprogramms aus
Klicken Sie auf die Schaltfläche Wiederherstellen (oder gehen Sie zu Bearbeiten > Wiederherstellen)
Wählen Sie im Dropdown-Menü Wiederherstellen das Laufwerk aus, das Sie klonen/verschieben möchten
Klicken Sie auf Wiederherstellen
Warten Sie nach dem Klonen, bis das Festplatten-Dienstprogramm sagt, dass es abgeschlossen ist, und klicken Sie auf Fertig.
Hoffe das hilft :-)
Diese Antwort wird es nicht schneller erledigen, aber ich habe eine Möglichkeit gefunden, die Daten ordnungsgemäß zu kopieren und dabei die Deduplizierung (feste Links) und Berechtigungen beizubehalten. Als zusätzlichen Bonus verwende ich dies, um eine komprimierte dmg des Endprodukts zur Archivierung zu erstellen.
Erstellen Sie mit Disk Utilities ein Disk-Image, das größer ist als Ihr Backups.backupdb-Verzeichnis. Ich würde auch vorschlagen, dass Sie Sparse Bundle Disk Image für Image Format und Hard Disk für Partitionen verwenden. Nachdem dieses Image gemountet wurde, rufen Sie Informationen darüber ab und deaktivieren Sie Besitz auf diesem Volume ignorieren.
Schalten Sie nun Time Machine aus und kopieren Sie mit dem Finder den Ordner Backups.backupdb in das bereitgestellte Image. Der Finder wird Sie nach Superuser-Berechtigungen fragen, um die Daten zu kopieren. Holen Sie sich etwas zu trinken oder tun Sie etwas anderes für eine Weile.
Wenn die Kopie fertig ist, vergewissern Sie sich, dass alles in Ordnung ist, und hängen Sie das Image aus. Wählen Sie im Festplattendienstprogramm Konvertieren und wandeln Sie das Sparse-Bundle-Image in ein komprimiertes Image um. Auch dies kann eine Weile dauern.
Sie sollten am Ende zwei Kopien Ihrer Time Machine-Sicherung haben, Sie können die Sparse-Bundle-Version löschen und die dmg rechtzeitig als Archiv an einem sicheren Ort ablegen.
Eine Sache, die ich damit nicht versucht habe, ist eine Systemwiederherstellung aus dem dmg, aber ich vermute, dass es funktionieren sollte, mein Ziel war es eher, die inkrementellen Änderungen der Zeitmaschine zu archivieren und die Hardlink-Struktur beizubehalten.
Ich habe auch rsync und cp ausprobiert, aber sie schienen die Hardlink-Struktur nicht beizubehalten, was dazu führen würde, dass x mal so groß wird, wobei x die Anzahl der Daten ist, die Sie in der Vergangenheit hatten. Diese Methode hat gut funktioniert, erreicht aber wiederum möglicherweise nicht die Geschwindigkeit einer Blockkopierlösung.
rsync ist ein großartiges Dienstprogramm für solche Dinge. Ich benutze es generell für solche Sachen. In diesem Fall könnte ich die -aP-Flags verwenden. Ich denke, ein Teil von -a ("Archiv") besteht auch darin, Berechtigungen, ACLs und dergleichen beizubehalten, aber ich bin mir nicht sicher.
IIRC gibt es auch eine Option --delete, mit der Sie die Quelldatei löschen können, sobald sie erfolgreich an das Ziel kopiert wurde. Ich wäre jedoch vorsichtig damit - normalerweise mache ich eine vollständige Spiegelung ohne die Option --delete, dann führe ich den Befehl mit den Optionen -c und --delete erneut aus. -c ist eine Prüfsumme, also prüft es alle Dateien, die Sie heruntergeladen haben, mit allen Dateien in der Quelle per Prüfsumme und löscht dann die Quelle, wenn es eine Übereinstimmung gibt, andernfalls kopiert es erneut oder setzt das Kopieren fort, je nach Fall.
BEARBEITEN: Bitte verwenden Sie in diesem Fall das Flag -H gemäß den Kommentaren, um harte Links beizubehalten.
Kürzlich musste ich fast die volle TM 2 GB Festplatte auf 1 TB kopieren. Also habe ich ein kleines Skript geschrieben, um es möglich zu machen. Leider beanspruchen Zielordner mehr Platz als Quellordner. Falls jemand eine Idee hat, wie es gelöst werden kann, würde ich es gerne wissen.
Hier ist die Zusammenfassung des Skripts – https://gist.github.com/tyzhnenko/d17b3cdc7ec6edf4164d788b552c1513
Apple hat dazu ein offizielles Tutorial: „ Time Machine: So übertragen Sie Backups von einem aktuellen Backup-Laufwerk auf ein neues Backup-Laufwerk “.
Die allgemeinen Schritte von dieser Seite:
- Überprüfen Sie das Format Ihres neuen Backup-Laufwerks
- Legen Sie Berechtigungen für Ihr neues Backup-Laufwerk fest
- Schalten Sie Time Machine vorübergehend aus
- Kopieren Sie Ihre Sicherungsdaten von Ihrem ursprünglichen Laufwerk auf Ihr neues Laufwerk
- Stellen Sie Time Machine so ein, dass es Ihr neues Laufwerk verwendet
So empfiehlt die Seite den Kopierschritt:
Kopieren Sie Ihre Sicherungsdaten von Ihrem ursprünglichen Laufwerk auf Ihr neues Laufwerk
- Öffnen Sie ein neues Finder-Fenster. Klicken Sie in der Finder-Seitenleiste auf das Symbol des ursprünglichen Backup-Laufwerks.
- Öffnen Sie ein neues Finder-Fenster. Klicken Sie in der Finder-Seitenleiste auf das Symbol des neuen Backup-Laufwerks.
- Ziehen Sie den Ordner „Backups.backupdb“ vom ursprünglichen Backup-Laufwerk auf die oberste Ebene des neuen Backup-Laufwerks.
- Geben Sie einen Administratornamen und ein Passwort ein und klicken Sie dann auf OK, um den Kopiervorgang zu starten.
Das Kopieren Ihrer Sicherungsdaten kann je nach Größe Ihrer Sicherung einige Zeit in Anspruch nehmen.
sudo rsync
Abend eine gefunden, aber heute morgen gefunden ERROR: out of memory in flist_expand [sender]
und meine Kopie ist jetzt ~600gb. Ich habe mich noch nicht entschieden, was ich als nächstes tun soll, aber ich vermute, dass die meisten Leser das offizielle Tutorial bereits kennen.Wenn Sie bei Festplatten mehrere Dateien von einem Laufwerk verschieben, bewegt sich das Lesegerät mit einem beängstigenden Klickgeräusch hin und her und verlangsamt beispielsweise die Übertragungsrate erheblich – eine Datei mit USB 2.0 bewegt sich mit 30 Mbit / s auf meinem Computer von 2 externe Festplatten, aber 2 Dateien bewegen sich mit 11 MBit/s. und 3 Dateien bewegen sich mit 6 MBit/s. usw. usw. Zip-Dateien bewegen sich schneller als Dateien.
kein Hang
Fahrrad
jungrrrr