Ich versuche, alle Sicherungen bestimmter Elemente über die Befehlszeile zu löschen. Ich kann dies mit der GUI durch die folgenden Schritte erreichen:
Wie kann ich dies in der Befehlszeile mit replizieren tmutil
? Besonders wenn Sie Backup Loupe verwenden, um große Dateien zu erkennen, wäre es einfacher, das Terminal zu verwenden (da ich TimeMachine nicht jedes Mal aufrufen muss, wenn ich eine bestimmte Datei löschen möchte, und mit dem Finder zu ihr navigieren kann, und legen Sie es dann auf dem Terminal ab, um einen Befehl zum Löschen zu erhalten).
Ich hatte gehofft, ich könnte so etwas verwenden:
sudo tmutil delete /path/to/file
jedoch gibt es mir den Fehler:
"Ungültiges Löschziel (Fehler 22)"`
Das funktioniert gut:
sudo tmutil delete /Volume/Backups.backupdb/<machinename>
und das auch:
sudo tmutil delete /Volume/Backups.backupdb/<machinename>/<specificbackup>
Entsprechend sollman tmutil
der delete
Befehl auch bestimmte Items löschen können. Allerdings hatte ich bisher Pech. Obwohl es auf dieser Website (und anderswo) zahlreiche Antworten zum Löschen bestimmter Backups mit und zum Löschen bestimmter Backup- Elemente über die GUI (mit der oben beschriebenen Methode) gibt, konnte ich keine Möglichkeit finden, bestimmte Backup- Elemente außerhalb der GUI zu löschen .tmutil
Ich habe diese SU-Fragen und Antworten mit dem Titel gefunden: Wie kann ich Time Machine-Dateien mithilfe der Befehlszeile löschen , die eine Methode zum Löschen bestimmter Dateien aus der CLI demonstriert. Diese Antwort hat eine Methode hervorgehoben, die so klingt, wie Sie es wollen:
Meine Sicherungsfestplatte ist voll. Ich habe eine sehr große Datei (viele Gigabyte), die seit Monaten gesichert wird. Es gibt eine physische Kopie davon, aber viele Snapshots mit festen Links zu dieser Kopie. Um diese Datei tatsächlich loszuwerden, muss ich den festen Link aus jedem Backup entfernen.
In dieser Antwort wurde gezeigt, dass man diese Methode verwenden kann, um eine Datei zu löschen:
$ cd /Volumes/WD\ 500G\ USB/Backups.backupdb/csm-laptop
$ ls -li */Macintosh\ HD/Users/csm/vm.img
...
2740350 -rw-r--r--@ 28 csm staff 42949672960 Feb 17 16:12 2015-05-08-005636/Macintosh HD/Users/csm/vm.img
2740350 -rw-r--r--@ 28 csm staff 42949672960 Feb 17 16:12 2015-05-08-015812/Macintosh HD/Users/csm/vm.img
2740350 -rw-r--r--@ 28 csm staff 42949672960 Feb 17 16:12 2015-05-08-030036/Macintosh HD/Users/csm/vm.img
2740350 -rw-r--r--@ 28 csm staff 42949672960 Feb 17 16:12 2015-05-08-041307/Macintosh HD/Users/csm/vm.img
2740350 -rw-r--r--@ 28 csm staff 42949672960 Feb 17 16:12 Latest/Macintosh HD/Users/csm/vm.img
Die Methode zum Löschen der Datei verwendet ein in Time Machine enthaltenes Hilfs-CLI-Tool mit dem Namen bypass
:
$ sudo bypass rm -f */Macintosh\ HD/Users/csm/vm.img
Da bypass
es als Hilfsskript für Time Machine betrachtet wird, befindet es sich normalerweise nicht auf Ihrer $PATH
. Daher müssen Sie den vollständigen Pfad zur ausführbaren Datei angeben. Zusätzlich hat Apple es für verschiedene Versionen von macOS verschoben.
$ sudo /System/Library/Extensions/TMSafetyNet.kext/Contents/MacOS/bypass \ rm -rfv /Volumes/[disk]/Backups.backupdb/[path]
In 10.8 Mountain Lion wurde die Umgehung in „Helfer“ verschoben:
$ /System/Library/Extensions/TMSafetyNet.kext/Helpers/bypass
In 10.10 Yosemite wurde die Umgehung hierher verschoben:
$ /System/Library/Extensions/TMSafetyNet.kext/Contents/Helpers/bypass
sudo bypass rm -f */Macintosh\ HD\Users\csm\vm.img
stellt sicher, dass dies alles auf einmal erledigt wird?rm
läuft danach cd /Volumes/DISK/Backups.backupdb/MACHINE
, damit der Platzhalter auf alle datierten Ordner erweitert wird, die das Bild enthalten. Ich habe jedoch einen \\
Tippfehler /
in der Antwort behoben.bypass
genau das Skalpell zu sein, das ich für mein Werkzeug brauche. Ich würde es gerne in Swift oder Python verpacken, damit es einfacher zu verwenden ist, aber wir werden sehen, ob ich zur Shell zurückkehrebypass
dass es sich an derselben Stelle befindet wie in 10.10. Ich habe es benutzt und es funktionierte genau wie erhofft.Entsprechend kann man tmutil
der tmutil delete
Befehl verwendet werden, um einen oder mehrere Snapshots , Maschinenverzeichnisse oder Sicherungsspeicher zu löschen . Die Begriffe werden am Anfang derselben Handbuchseite definiert:
/Volumes/Chronoton/Backups.backupdb/thermopylae/2011-07-03-123456
)/Volumes/Chronoton/Backups.backupdb/thermopylae
)/Volumes/Chronoton/Backups.backupdb
)Es scheint also leider nicht möglich zu sein, tmutil
bestimmte Elemente innerhalb eines Schnappschusses zu löschen.
jan
kein Hang