Ich habe die automatische Sicherung aktiviert und lokale TimeMachine-Snapshots nehmen viel Speicherplatz in Anspruch. Dieser Speicherplatz wird in den Datenträgerinformationen als löschbar aufgeführt, kann jedoch erst verwendet werden, wenn das System entscheidet, ihn freizugeben. Wie kann ich TimeMachine zwingen, diese Snapshots zu löschen?
Führen Sie im Terminal dieses kleine Skript aus:
for d in $(tmutil listlocalsnapshotdates | grep "-"); do sudo tmutil deletelocalsnapshots $d; done
Das Skript listet alle Snaphosts auf und löscht sie alle in einer Schleife.
Wenn Ihnen der Speicherplatz nicht ausgeht (5 GB frei), lassen Sie diesen Speicherplatz einfach zuweisen, da es keinen Nachteil gibt, mit dem Löschen von Dateien zu warten, bis Sie Speicherplatz benötigen.
Davon abgesehen, wenn Sie sich entscheiden, Backups präventiv zu löschen, ziehe ich es vor, das System anzuweisen, Speicherplatz freizugeben. Wenn Sie wissen, dass Sie 50 GB frei haben, ändern Sie die 5 unten in 50 und dann wird das System über alle lokalen Snapshots iterieren und sie in der vom System definierten Reihenfolge beschneiden.
tmutil thinlocalsnapshots / $(echo "5 * 1000000000" | bc) 2
Die einzige Iteration, die ich tun würde, besteht darin, zu sehen, wie viele APFS-Volumes Sie haben, und dann vielleicht alle gemounteten auszudünnen.
Hier ist ein netter Thread, der die Dringlichkeit erklärt - 2 funktioniert gut für meine Bedürfnisse, aber die Handbuchseite erklärt, dass es 4 Dringlichkeitsstufen gibt. Wenn Sie also spezielle Bedürfnisse haben, beobachten Sie den IO und die Leistung während des Ausdünnens und experimentieren Sie mit kleineren Snapshots zum Ausdünnen.
Ich habe zufällig festgestellt, dass das Öffnen des Fensters "Speicherverwaltung" (Cmd-U) in "Systeminformationen" die Schnappschüsse der lokalen Zeitmaschine freigab und den Speicherplatz verfügbar machte.
Ich weiß nicht, ob dies ein offiziell unterstützter Weg ist.
Schritt 1:
Geben Sie im Terminal den folgenden Befehl ein, um alle Backup-Snapshots aufzulisten:
tmutil listlocalsnapshots /
Sie erhalten eine Liste aller Snapshots im Stammverzeichnis ( /
).
Schritt 2:
Löschen Sie jeden Schnappschuss, indem Sie den folgenden Befehl + Datum des entsprechenden Schnappschusses eingeben:
sudo tmutil deletelocalsnapshots <snapshot_date>
Beispiel:
sudo tmutil deletelocalsnapshots 2020-09-26-143409
Bonus-Tipp:
Denken Sie daran, dass Sie jederzeit Hilfe zu einem Befehl im Terminal erhalten können, indem Sie den Root-Befehl -h
oder eingeben -help
.
Geben Sie ein tmutil -help
, um alle Befehle des Time Machine-Dienstprogramms und Gebrauchsanweisungen anzuzeigen.
Der noch elegantere Weg, alle Snapshots zu löschen:
for x in $(tmutil listlocalsnapshots /);do
sudo tmutil deletelocalsnapshots $(cut -d '.' -f 4 <<<"$x")
done
kein Hang
tmutil thinlocalsnapshots
usw.Fahrrad
Martin
thinlocalsnapshots
würde genauso gut funktionieren.Fahrrad