Wie kann ich alte Sicherungen manuell löschen, um Speicherplatz für Time Machine freizugeben?

Ich verwende eine Time Capsule für die Sicherung und möchte jetzt, dass das Laufwerk Daten von einem zusätzlichen Mac sichert. Aber das Laufwerk ist voll mit alten Backups von Mac 1. Für das Backup von Mac 2 ist einfach nicht genug Speicherplatz vorhanden.

Ich erhalte diese Fehlermeldung, wenn ich eine Time Machine-Sicherung ausführe:

Time Machine konnte die Sicherung nicht abschließen. Diese Sicherung ist zu groß für die Sicherungsfestplatte. Die Sicherung benötigt 28,68 GB, es stehen aber nur 626,2 MB zur Verfügung.

Time Machine benötigt zusätzlich zu dem Speicherplatz, der zum Speichern von Sicherungen erforderlich ist, Arbeitsspeicher auf der Sicherungsfestplatte. Öffnen Sie die Time Machine-Einstellungen, um ein größeres Backup-Volume auszuwählen oder das Backup zu verkleinern, indem Sie Dateien ausschließen.

Ich weiß, dass Time Machine selbst alte Backups entfernen kann, wenn mehr Speicherplatz benötigt wird. Aber in diesem Fall werden keine Backups von Mac 1 entfernt, um Platz für Mac 2 zu schaffen.

Frage ist, wie mache ich das manuell?

Wenn man bedenkt, wie billig externe Laufwerke sind, wäre ich versucht, eines zu kaufen und es für Ihre zusätzliche Maschine zu verwenden. Ich bevorzuge die Elemente: amazon.com/Western-Digital-Elements-External-WDBAAU0010HBK-NESN/…
@james.garriss guter Punkt :) Allerdings muss ich immer noch Laufwerke in meiner Zeitkapsel tauschen :)
Weiß jemand, ob es eine Möglichkeit gibt (ohne ein Skript zu schreiben), TM zu bitten, nur 1 Backup pro Monat für Backups aufzubewahren, die älter als 1 Jahr sind?
Können Sie nicht 2 verschiedene Partitionen auf Ihrer TM-Festplatte erstellen und für jeden Mac eine andere Partition auswählen?

Antworten (8)

Seien Sie vorsichtig mit sudo und stellen Sie sicher, dass Sie die richtigen Mac-Dateien auswählen, da der folgende Befehl nicht rückgängig gemacht oder bestätigt werden kann:

sudo tmutil delete /Volumes/drive_name/Backups.backupdb/old_mac_name

Der sudo-Befehl benötigt Ihr Passwort (und es wird nicht auf dem Bildschirm angezeigt, also geben Sie es einfach ein und machen Sie eine Pause, um sicherzustellen, dass Sie die richtigen Dateien datieren, bevor Sie die Eingabetaste drücken). Wenn Sie auf Nummer sicher gehen möchten, können Sie zuerst einen Snapshot zum Löschen auswählen, um sicherzustellen, dass der Befehl wie beabsichtigt funktioniert. Das ist nett, da es Stunden dauern kann, einige größere Backup-Sätze zu bereinigen, und Sie möchten, dass der Mac sicher ist, dass er den richtigen Informationsspeicher löscht.

Sie können das tmutilTool verwenden, um Backups einzeln zu löschen.

sudo tmutil delete /Volumes/drive_name/Backups.backupdb/mac_name/YYYY-MM-DD-hhmmss

Da tmutiles mit Lion eingeführt wurde, funktioniert dies nicht auf früheren Betriebssystemversionen.

Wenn Sie das aktuelle Verzeichnis der Sicherungen abrufen möchten (es können mehrere Ziele definiert werden und nur eines ist "aktuell")

sudo tmutil machinedirectory

Wenn Sie auf einer Netzwerkfreigabe sichern, verfügen Sie möglicherweise über spärlichen Paketspeicher, und wenn ja, muss dieser ebenfalls komprimiert werden .

sudo hdiutil compact /Volumes/drive_name/Backups.backupdb/mac_name.sparsebundle
Lief wie am Schnürchen. Ich hatte alte Backups, die riesig waren und aufgrund von Festplattenänderungen vom ursprünglichen Time Machine-Set getrennt wurden. Ich konnte sie nicht mit sudo rm löschen (was verrückt ist), aber das hat den Zweck erfüllt. Danke!
Ich habe ein Problem, bei dem mein Mac-Name derselbe ist, aber wenn ich eine neue Festplatte habe, hat sie einen neuen Namen, und so habe ich zwei verschiedene Verzeichnisse in jedem Ordner mit Zeitstempel, und ich möchte nur die Backups von meinem alten löschen Festplatte, und nicht die neue. Ist das möglich? Ich habe versucht, den Pfad von `/Volumes/volume_name/Backups.backupdb/mac_name/YYYY-MM-DD-hhmmss/old_volume_name' mit tmutil delete zu verwenden, aber ein Fehler von "Ungültiges Löschziel. (Fehler 64)". diese Backups löschen?
# man tmutil Kein manueller Eintrag für tmutil # tmutil -bash: tmutil: Befehl nicht gefunden Wo ist also dieser tmutil-Befehl? Brauche ich etwas neueres als Snow Leopard, um es zu bekommen?
Auf diese Weise können Sie zwar das Backup von Mac Nr. 1 von Mac Nr. 2 entfernen, es scheint jedoch sicherer zu sein, dies über die Time Machine-Oberfläche auf Mac Nr. 1 zu tun (falls Sie Zugriff haben). Außerdem glaube ich, dass das Löschen ganzer Backups über die TM-Schnittstelle bis zur Einführung von TM funktioniert.
@dfrogsplat ja, aber bei der Arbeit mit alten Backups ist es üblich, dass der ursprüngliche Mac tot ist. In meinem Fall versuche ich, Speicherplatz auf meinem Sicherungslaufwerk freizugeben, damit ich damit einen neuen Mac sichern kann.
Ich denke, dieser Befehl ist der richtige Weg. Es unterstützt sogar Platzhalter, die nützlich sind, um eine Reihe von Backups zu löschen, zum Beispiel alle Backups für ein bestimmtes Jahr: sudo tmutil delete /Volumes/BackupName/Backups.backupdb/MacName/2013-*
Eine kurze Frage. Setzt TM keine festen Links zu unveränderten Dateien in neue Backups? Bedeutet das, wenn Sie eine Videodatei haben, die seit Ihrer ersten Sicherung unverändert ist, und Sie diese Sicherung löschen, wird sie aus allen nachfolgenden Sicherungen verschwinden?
@square_eyes So funktioniert das Löschen von fest verknüpften Dateien nicht. Nehmen wir an, es gibt 100 Intervalle mit derselben Datei. Die Datei existiert einmal auf der Festplatte, aber die Anzahl der Links ist 100. Wenn Sie einen löschen, verschwindet der Verzeichniseintrag dort, wo Sie ihn gelöscht haben, und die Anzahl der Links beträgt jetzt 99. Nur wenn die Anzahl der Links auf 0 geht, wird die Datei selbst gelöscht. Alle anderen Löschvorgänge entfernen nur einen Verzeichniseintrag.
Es ist nicht erforderlich, die Backups einzeln zu löschen. Sie können sudo tmutil delete alle Backups, die Sie löschen möchten, eingeben und dann in das Terminalfenster ziehen. @dfrogsplat Die Manpage erwähnt, dass dieser Befehl Backups löschen kann, die von einem anderen Computer erstellt wurden.
@pointum ist richtig. Wenn Sie im Terminal bleiben möchten, können Sie außerdem Platzhalter wie folgt verwenden: 'sudo tmutil delete 2015-*' Dies kann ein langsamer Prozess sein, insbesondere bei sich drehenden Festplatten, daher ist das Löschen mehrerer Dateien für die Gesundheit und Effizienz von entscheidender Bedeutung.
Um den Speicherort Ihrer Backups zu finden, können Sie sudo tmutil listbackups. Öffnen Sie diesen Ordner im Finder und Sie können die Backups auswählen, die Sie löschen möchten, und sie dann per Drag & Drop in das Terminalfenster ziehen, nachdem Sie eingegeben haben sudo tmutil delete . Es löscht sie nacheinander. Das finde ich super geil.
Ab macOS 10.14.5 erfordert die Terminal-App (z. B. iTerm2), die diese tmutil-Befehle ausführt, das Recht „Voller Festplattenzugriff“. Öffnen Sie Systemeinstellungen > Sicherheit & Datenschutz > Datenschutz > Vollständiger Festplattenzugriff und gewähren Sie die Berechtigung, indem Sie die App registrieren. (Das Entfernen der Berechtigung von der App nach der Aufgabe kann für die Sicherheit gut sein.)
Für macOS 11.5.1 ist eine neue Option -perforderlich, z. B. sudo tmutil delete -p /path /to/the/directory.

Der einfachste Weg ist:

  1. Geben Sie Time Machine ein (auf dem Mac, dessen Backup Sie löschen möchten)
  2. Gehen Sie zu dem Zeitpunkt, den Sie löschen möchten
  3. Wählen Sie im Finder das Symbol, das wie ein Zahnrad aussieht, und wählen Sie „Backup löschen“ (in Mavericks: Klicken Sie mit der rechten Maustaste in das Finder-Fenster und wählen Sie „Backup löschen“)

Dadurch wird sichergestellt, dass der Backup-Katalog korrekt bleibt und die Integrität Ihrer Daten intakt bleibt.

@dfrogsplat ist sehr richtig, dass die Verwendung der von Apple bereitgestellten GUI der beste Weg ist (funktioniert auf allen Versionen), um ein Backup zu löschen, und weniger fehleranfällig ist, da es mehrere visuelle Rückmeldungen (wenn Sie genau hinsehen) und eine Überprüfung gibt, bevor Sie eintreten Ihr Passwort, um sicherzustellen, dass Sie wissen, dass die Löschung dauerhaft ist.
Ich sehe kein Element zum Löschen von Backups auf Mavericks im Zahnradmenü
@brainray Ich habe eine Antwort für Außenseiter gepostet
Außer wenn es eine teilweise Löschung durchführt (aus welchem ​​Grund auch immer), vergisst es, dass die teilweise Sicherung vorhanden ist, sodass Sie sie dann nicht nur löschen könnentmutil delete
Dies funktioniert nicht, wenn Sie das Problem "Warten..." haben. apple.stackexchange.com/questions/207787/… Warten funktioniert nicht immer.

Für Mavericks/Yosemite

  1. Zeitmaschine betreten
  2. Wählen Sie die Sicherung aus
  3. Rechtsklick auf das Backup (im Finder-Fenster)
  4. Wählen Sie „Sicherung löschen“

Es wird nach dem Passwort gefragt und Sie sind fertig

Geben Sie hier die Bildbeschreibung ein

Rechtsklick auf das Backup: Wo?
Ihnen wird ein Finder-Fenster angezeigt, das Sie mit der rechten Maustaste in der Mitte des Fensters anklicken, und Ihnen wird eine Liste mit Optionen angezeigt
Es ist erwähnenswert, dass Time Machine die Löschungen nicht durchführt und Sie nicht nach Ihrem Passwort fragt, bis Sie Time Machine beenden . Und das Verfahren zum Beenden von Time Machine nach dem Auswählen von Dateien und Ordnern zum Löschen ist ebenfalls nicht offensichtlich: Sie müssen cancelin die untere linke Ecke klicken. (Anscheinend ist das, was Sie "abbrechen", die Wiederherstellung von Dateien; Löschungen gelten dabei anscheinend nicht als abgebrochen.)
Das hat bei mir auch von einer anderen Maschine aus funktioniert. Mein altes MBP ist kaputt gegangen, mein neues hat andere Festplattennamen und Partitionen usw. Endlich ist meine TM-Festplatte voll, und ich möchte nicht alle Backups meiner alten Maschine löschen. Halten Sie also die Wahltaste gedrückt, klicken Sie in der Menüleiste auf Time Machine und "Andere Backup-Festplatten durchsuchen". Ich konnte zum ersten alten Backup gelangen, indem ich ein Laufwerk mit demselben Namen einsteckte. Von dort aus konnte ich zur alten Laufwerksstruktur wechseln und mit diesem Tipp einige wirklich alte Backups löschen.
Oder klicken Sie einfach auf den Root-Geräteordner in der Seitenleiste (damit die alte Partitions- und Laufwerksstruktur angezeigt wird). In meinem Fall "Geräte -> Macbook Pro"
Falls Betrachter dieser Frage dies nützlich finden, kann der Prozess unter Mac OS High Sierra (2018) noch kniffliger sein als hier beschrieben. Der Vorgang zum Löschen von Backups auf einem neuen MacBookPro kann seltsam und überraschend sein: (1) "Enter Time Machine" (2) Navigieren Sie zu dem Backup, das Sie löschen möchten (3) Rechtsklickmenü bietet "Alle Backups löschen, bevor ... " (4) Wenn Sie dies tun, erscheint möglicherweise ein Popup-Fenster, das von anderen Fenstern verdeckt wird und den Anschein erweckt, als wäre Ihr Bildschirm gesperrt; Finden Sie seinen Rand, klicken Sie darauf, um ihn anzuzeigen, und dann müssen Sie Administratorzugriff auf Time Machine gewähren ...
Sobald Sie dies tun, wird es eine Verzögerung geben ... Dann scheint es, dass nichts passiert ist. Sie klicken dann auf die angezeigte Abbrechen-Schaltfläche, um die Benutzeroberfläche zu verlassen, und jetzt wird ein Popup-Fenster angezeigt, das den Status der Bemühungen zum Löschen von Sicherungen anzeigt. Dieses Popup ist möglicherweise hinter anderen Fenstern verborgen. Wenn Sie also nicht danach suchen, versuchen Sie möglicherweise, Ihr Backup-Laufwerk zu trennen, während noch darauf geschrieben wird. Suchen Sie das Popup und vergewissern Sie sich, dass es abgeschlossen ist, bevor Sie das für Ihre Backups verwendete Laufwerk trennen. Diese Erfahrung trat beim Umgang mit manuell ausgelösten vollständigen Sicherungen auf, die in HFS auf ext HD gespeichert wurden.
Das hat mir nichts gebracht. Ich habe Verzeichnisse zum Löschen ausgewählt, bei gedrückter Strg-Taste geklickt, gelöscht, bestätigt, aus TM "abgebrochen" und ... nichts, bin einfach zu Finder (High Sierra) zurückgekehrt.

Ich habe mir genau diese Frage gestellt, und die Antworten hier haben sicherlich geholfen. Es fehlt jedoch ein Aspekt, bei dem es sich möglicherweise um ein neues Implementierungs-"Detail" handelt, das zum Zeitpunkt der Beantwortung dieser Frage noch nicht existierte.

tmutil deletelöscht zwar Backups, fordert aber nicht den belegten Speicherplatz zurück, zumindest nicht garantiert. Ich habe ungefähr 2 ganze Tage damit verbracht, Backups von vor > 2 Jahren zu löschen, was laut endgültiger Abschlussmeldung ca. 400 GB Daten. Ich habe gesehen, dass die Anzeige des freien Backup-Speicherplatzes einmal entsprechend angestiegen ist, aber nach dem nächsten Backup war ich wieder auf nur 7 % verfügbaren Speicherplatz gesunken (858 GB verwendet statt etwa 450 GB). Das hat mich echt gebremst.

Die Antwort auf dieses Rätsel finden Sie hier: http://blog.hawkimedia.com/2012/08/reclaiming-a-timemachine-volumes-disk-space/ Kurz gesagt, Sie müssen das spärliche Bündel komprimieren, das tatsächlich das Backup enthält wenn es auf einer Netzwerkfestplatte oder einer nicht in HFS+ formatierten Festplatte gehostet wird. Ich habe keine TM-Backups, die nicht in einem Sparse-Bundle gehostet werden, daher kann ich nicht überprüfen, ob die Verwendung tmutil deleteauf diesen kostenlos zurückgefordert wird. Es könnte durchaus funktionieren, und die Tatsache, dass dies auf einer Time Capsule nicht der Fall ist, kann einfach eine Besonderheit des Sparse Bundle-Protokolls sein. Der Befehl, der danach ausgeführt werden soll, sudo tmutil deleteist sudo hdiutil compact /Volumes/YourTimeMachineDisk/YourBackupName.sparsebundle. In meinem Fall hat sich das gemeldet

Starting to compact…
Reclaiming free space…
...................................................................................................................................
Finishing compaction…
Reclaimed 403.2 GB out of 583.5 GB possible.

Die gute Nachricht ist, dass dieser Befehl nur einen Bruchteil der Zeit benötigte, die tmutil benötigte, viel weniger Zeit mit Suchen auf der Festplatte verbrachte und weniger RAM verbrauchte (tatsächlich wurde er in der Zeit abgeschlossen, die ich zum Schreiben dieser Antwort benötigte).

Ich lösche Backups jetzt ohne Sparsebundle, und der Speicherplatz scheint ohne einen zusätzlichen Schritt freigegeben zu werden.

Dieses Skript findet automatisch das älteste TM-Backup für Ihren Computer, teilt Ihnen mit, welches das älteste und das neueste Backup ist, und fordert Sie auf, das älteste Backup zu löschen. Sie müssen YIhr Administratorkennwort eingeben und eingeben, um es zu löschen.

Bash-Skript:

COMPUTER_NAME=$(scutil --get ComputerName)
NBACKUPS=$(tmutil listbackups | grep "$COMPUTER_NAME" | wc -l)
OLDEST_BACKUP=$(tmutil listbackups | grep "$COMPUTER_NAME" | head -n1)
LATEST_BACKUP=$(tmutil latestbackup)
echo Latest backup: $LATEST_BACKUP

if [[ -n "$LATEST_BACKUP" && "$LATEST_BACKUP" != "$OLDEST_BACKUP" ]]; then
     echo -n "$NBACKUPS backups. Delete oldest: ${OLDEST_BACKUP##*/} [y/N]? "
     read answer
     case $answer in
         y*)
             echo Running: sudo tmutil delete "$OLDEST_BACKUP"
             sudo time tmutil delete "$OLDEST_BACKUP"
             ;;
         *)
             echo No change
             ;;
     esac
 else
     echo "No backup available for deletion"
 fi
Zusammenfassend findet dieses Skript automatisch das älteste TM-Backup für Ihren Computer, teilt Ihnen mit, welches das älteste und das neueste Backup ist, und fordert Sie auf, das älteste Backup zu löschen. Sie müssen YIhr Administratorkennwort eingeben und eingeben, um es zu löschen.
Beachten Sie, dass dadurch die Größe Ihrer Sparsebundle-Sicherungsdateien nicht automatisch reduziert wird. Du musst hineingehen und rennensudo hdiutil compact /path/to/disk-image

Wenn Time Machine wirklich nur Unterschiede sichert, ist das Löschen in umgekehrter Reihenfolge nicht das, was Sie wollen. Angesichts der Tatsache, dass jede Löschung einige Zeit in Anspruch nehmen kann, wäre es schön, ein Skript zu haben, das die nächste löscht, wenn die aktuelle abgeschlossen ist.

Nach dem obigen Beispielskript von user36971 habe ich eines geschrieben, das alle Backups von dem angegebenen und früheren löscht:

#!/bin/bash

if [ -z "$1" ]
then
    echo "must specify backup id: YYYY-MM-DD-HHMMSS"
    exit 1
fi

FOUND_BACKUP=0;
BACKUPS=""
while read line; do
    if [[ "${line}" == *$1* ]]
    then
        FOUND_BACKUP=1;
    fi

    if [ "${FOUND_BACKUP}" == "1" ]
    then
        BACKUPS+="${line}"$'\n'
    fi
done < <(/usr/bin/tmutil listbackups | tail -r)

if [ "${FOUND_BACKUP}" == "0" ]
then
    exit 1
fi

printf '%s' "$BACKUPS"

echo -n "Delete above backups? [y/N]? "
read answer
case $answer in
    y*)
        while read line; do
            if [ -n "${line}" ]
            then
                echo Running: /usr/bin/sudo /usr/bin/tmutil delete "${line}"
                /usr/bin/sudo time /usr/bin/tmutil delete "${line}"
            fi
        done < <(echo "${BACKUPS}")
        ;;
    *)
        echo No change
        ;;
esac

Beachten Sie , dass ich die Überprüfung des Computernamens nicht in mein Skript aufgenommen habe. Wenn Sie also ein Sicherungslaufwerk für mehrere Computer freigeben, müssen Sie möglicherweise eine zusätzliche Überprüfung hinzufügen.

TM sichert nur das Delta bei jedem Lauf, behält aber eine vollständige Kopie pro Lauf auf der Sicherungsfestplatte . Für Dateien, die zwischen den Läufen nicht geändert wurden (das sind die meisten), wird nur ein neuer Verzeichniseintrag hinzugefügt. Dies kann bedeuten, dass Sie bei nur geringen Abweichungen zwischen den Läufen möglicherweise viele Sicherungen löschen müssen, bevor Sie eine signifikante Zunahme des freien Speicherplatzes bemerken.
Die Reihenfolge, in der Sie die Backups löschen, spielt keine Rolle. In der Tat, wenn Sie einen Platzhalter verwenden tmutil delete, um alle Backups für ein bestimmtes Jahr zu löschen, werden sie vom ältesten bis zum neuesten gelöscht. Übrigens ist die Verwendung eines Platzhalters in den meisten Fällen viel einfacher als die Verwendung eines Skripts :)
Ich würde empfehlen, printf '%s' "$BACKUPS" vor der Zeile zum Löschen von Backups hinzuzufügen, um ein besseres Feedback zu erhalten
Ich kann mehrere Backups löschen, ohne while zu verwenden, wie zum Beispiel:sudo tmutil delete 2016-06-12-184217 2016-06-19-080529 2016-06-26-092218

Öffnen Sie einfach ein Terminal,

#sudo tmutil disablelocal

Dies sollte Speicherplatz freigeben, ohne TM-Sicherungen zu löschen

Dadurch werden lokale Time Machine-Schnappschüsse von einem internen Laufwerk deaktiviert - nicht das, wonach das OP fragt.
Ja – dies gibt nur Speicherplatz auf dem Mac-Startvolume frei – nicht auf dem Ziel. Nützlich, muss aber meiner Meinung nach auf einer anderen Frage stehen.

Hier ist Schritt für Schritt, was ich getan habe, um mein altes Backup zu löschen

  1. Öffnen Sie die Time Machine-Festplatte
  2. Suchen und öffnen Sie den Ordner Backups.backupdb
  3. Gehen Sie zu „Nach Datum anzeigen“ und wählen Sie „Älteste“ oben aus
  4. Wählen Sie die Sicherung aus, die Sie löschen möchten
  5. Terminal öffnen und eingebensudo rm -rvf
  6. Ziehen Sie die alten Ordner, die Sie löschen möchten, per Drag & Drop in das Terminalfenster
  7. Geben Sie an der Eingabeaufforderung Ihr Benutzerkennwort ein

Gehen Sie einen Kaffee trinken oder schauen Sie sich einen Film an. Wenn der Vorgang abgeschlossen ist, müssen Sie ihn möglicherweise für einige Ordner wiederholen, die nicht gelöscht werden sollen.

Wenn alle Ihre alten Ordner verschwunden sind, muss Time Machine seine Datenbank aktualisieren. Hier ist eine Möglichkeit, die Aktualisierung von Time Machine zu erzwingen.

  1. Geben Sie Time Machine ein und gehen Sie zum ältesten Backup, das noch aufgelistet ist
  2. Wählen Sie es aus und klicken Sie auf das kleine Zahnrad und wählen Sie dann Backup löschen
  3. Geben Sie Ihr Passwort ein und warten Sie einige Minuten
  4. Beenden Sie die Time Machine-Oberfläche und kehren Sie erneut zurück. Jetzt sollte Ihre Time Machine das richtige Backup auflisten.
Mach das nicht. Time Machine verwendet ein komplexes Verknüpfungssystem. Sie können Ihre Sicherungen beschädigen. Siehe pondini.org/TM/Home.html
Nachdem ich http://pondini.org/TM/Works.html gelesen habe, sehe ich keinen Grund, warum das Löschen alter Backups mit sudo rm -rvfTime Machine bricht. Der rmBefehl ist die Kommandozeilen-Alternative zum Vorschlag zum Löschen aus dem Finder unten unter http://pondini.org/TM/12.html