Ist es möglich, `tmutil delete` oder einen anderen Befehl zu verwenden, um eine Datei aus allen Sicherungsintervallen zu löschen?

Ich habe Probleme beim Löschen unseres Backup-Laufwerks. Ich möchte ein paar große Dateien loswerden, damit ich die anderen inkrementellen Backups erhalten kann.

Ich kann den Befehl tmutil delete nicht für ganze Sicherungen verwenden, da ich alle Dateien aus diesem Intervall verlieren würde und nicht nur die anstößige Datei, die ich löschen möchte. Außerdem würde ein Skript bedeuten, dass ich Speicherplatz von den Computern eines ganzen Labors zurückgewinnen könnte, indem ich dies über die Befehlszeile skripte. Ich erwarte auch, dass ich mit diesem Skript herausfinden kann, welche Datei im Paket die GUI nicht bereinigen möchte, da ich ein Skript einfacher debuggen kann als Finder und die Time Machine-Oberfläche.

Falls dies ein einfaches Berechtigungsproblem ist - die Bibliothekspaketdatei / der Ordner:

Mac:~ bmike$ ls -laeO  /Volumes/Backups/Backups.backupdb/Mac/2015-04-09-072338/Macintosh\ HD/Users/bmike/Pictures/Photos\ Library.photoslibrary 
total 0
drwxr-xr-x@ 10 bmike staff  - 340 Apr  8 20:05 .
 0: group:everyone deny add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,chown
drwx------@ 28 bmike staff  - 952 Apr  9 09:38 ..
 0: group:everyone deny add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,chown
 1: group:everyone deny delete
drwxr-xr-x+  2 bmike staff  -  68 Apr  8 09:07 Attachments
 0: group:everyone deny add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,chown
drwxr-xr-x+  2 bmike staff  -  68 Apr  8 09:07 Masks
 0: group:everyone deny add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,chown

Wenn ich die Time Machine-Oberfläche verwende, tritt ein Fehler auf und ich weiß nicht, welche Datei oder Instanz Fehler aufweist:

nicht hilfreicher Suchfehler

Ich suche nach einer Möglichkeit, diese geschützten Dateien aus allen Sicherungsintervallen zu löschen, ähnlich wie bei der Finder-Zahnrad-Symbolaktion von Alle Sicherungen von „Fotobibliothek löschen“.

Löschen Sie alle Backups der „Fotobibliothek“

Ist diese selektive Bereinigung einer Datei/eines Ordners über alle Zeitintervalle hinweg mit den integrierten Tools von Apple, einem benutzerdefinierten Skript und/oder einem anderen Tool möglich?

Großartig. Ich frage mich, warum es da draußen keine guten TM-Tools (vielleicht außer BackupLoupe ) gibt. Ist das ein Zeichen für einen Rückgang an Entwicklern, die sich für das MacOS-Umfeld interessieren?
Warum kannst du das nicht einfach machen rm? So etwas wie sudo rm -rf /Volumes/Backups/Backups.backupdb/Mac/*/Macintosh\ HD/Users/bmike/Pictures/Photos\ Library.photoslibrary. Es könnte schmerzhaft langsam sein, aber es sollte funktionieren. Wenn Sie etwas Anspruchsvolleres als nur benötigen, rmkönnen Sie find ... -exec.
@OldPro ACL bestreitet rmund Shell Globbing ist ein einfacher Sieg.
Wie sieht es mit der Verwendung aus bypass, da ich Sie erst jetzt gefunden und verlinkt habe? Wenn das funktioniert hat, posten Sie bitte eine kurze Antwort auf diese Frage, damit sie leichter zu finden ist. Ich habe 20 Minuten gebraucht. :-)
Bypass ist sicher die Lösung @OldPro

Antworten (2)

Ja, Sie können den „TM Safety Net“-Helfer verwenden , um die ACL-Einschränkungen zu umgehen , damit Sie wie gewohnt bypassverwenden können . rmAußer natürlich, dass Time Machine "harte Links" verwendet und daher rm nicht ganz so funktioniert, wie Sie es normalerweise erwarten .

Das bypassProgramm ist nicht für Benutzer gedacht und kann schwer zu finden sein, und es hat sich in verschiedenen Versionen von OS X bewegt. Ich finde es mit diesem Befehl:

locate TMSafetyNet.kext | grep bypass

Dann verwenden Sie es, um zu autorisierenrm

sudo /System/Library/Extensions/TMSafetyNet.kext/Contents/Helpers/bypass rm -rf /Volumes/Backups/Backups.backupdb/Mac/2015-04-09-072338/Macintosh\ HD/Users/bmike/Pictures/Photos\ Library.photoslibrary

Beachten Sie, wie bereits erwähnt, dass dieser rmBefehl aufgrund der Art und Weise, wie Time Machine feste Verknüpfungen von Verzeichnissen verwendet, die Datei aus anderen Backups entfernen kann. Ich würde die Verwendung nicht empfehlen, es sei denn, Sie versuchen, die Datei aus allen Sicherungen zu entfernen.

Tatsächlich würde ich im Allgemeinen nicht empfehlen, versteckte Befehle wie diesen zu verwenden. Verwenden Sie die GUI wie von Apple vorgesehen. Natürlich in diesem speziellen Fall, in dem Sie viele Computer haben, auf denen Sie denselben Befehl ausführen können, und Sie die Auswirkungen von Hardlinks vollständig verstehen, dann fahren Sie fort.

Wenn Sie dies skripten, sollte Ihr Skript sicherstellen, dass Time Machine (a) deaktiviert ist und (b) derzeit keine Sicherung ausführt (weil (a) (b) leider nicht garantiert), bevor Befehle mit ausgeführt werden bypass. Sie sollten dies wahrscheinlich auch tun, wenn Sie Befehle manuell ausführen.

Dies ist eine hervorragende Antwort auf eine ziemlich gefährliche Anfrage - Sie können sicher sein, dass ich dies ziemlich viel testen werde, bevor ich dies auf mehr als einer Maschine gleichzeitig skripte. Vor allem, dass das Backup-Ziel nach der „Operation“ noch für weitere Backups geeignet ist
Ich schlage vor, hinzuzufügen: Stoppen Sie TM, wenn Sie eine Operation an seinem FS unter Umgehung von TM durchführen.

Hier ist eine Möglichkeit, Ordner von Timemachine auszuschließen.

  • Halten Sie die Befehlstaste gedrückt und geben Sie die Leertaste ein, um Spotlight aufzurufen.

  • Geben Sie Time Machine ein und öffnen Sie die Systemeinstellung (nicht die Anwendung).

  • Klicken Sie auf die Schaltfläche Optionen... in der unteren rechten Ecke des Systemeinstellungsfensters von Time Machine.

  • Klicken Sie auf die Plus-Schaltfläche und navigieren Sie dann zu dem Ordner, den Sie ausschließen möchten.

  • Klicken Sie auf die Schaltfläche Ausschließen.

  • Klicken Sie auf Speichern.

https://www.imore.com/how-exclude-files-time-machine-backups

Dies ist im Allgemeinen richtig, aber nicht das Löschen der Dateien, nachdem sie gesichert wurden. Der Kern meiner Frage besteht darin, etwas zu löschen, das bereits geschützt ist und nur auf dem Backup-Volume vorhanden ist. Ich schätze jedoch die Bemühungen zu helfen. Ich sehe keine Möglichkeit, wie diese Antwort bereits vorhandene Backups gemäß dem Titel der Frage beschneiden kann, also werde ich sie auf -1 setzen.
Sie werden nur mehr von ihnen bekommen, es sei denn, Sie stoppen sie an der Quelle. Deshalb hielt ich es für relevant.
Einverstanden. Wir haben es bereits gestoppt. Jetzt versuchen wir aufzuräumen, ohne den Verlauf aller anderen Dateien zu verlieren. Grundsätzlich möchte ich alle Uhren automatisieren, um in die Zeitmaschine zu gelangen und einen bestimmten Ordner auf mehreren Maschinen zu entfernen.
Es sieht so aus, als könnte ich diese Antwort verwenden, um das Problem endlich zu lösen - apple.stackexchange.com/questions/333767/…