Automatisches Verkleinern vorhandener Time Machine-Backups auf eine feste Größe

Ich habe stundenlang gegoogelt, um eine Lösung für dieses Problem zu finden, aber ich konnte keine Antwort finden, die zu meinem Problem passt.

Mein Setup:

  • Ich habe einen iMac mit einer ~1TB Festplatte
  • Ich sichere es über Time Machine auf einem Synology NAS DS214+ mit ~2,7 TB Speicherplatz

Mein Problem:

  • Ich habe vergessen, eine Größenbeschränkung für den Backup-Benutzer festzulegen. Nein, mein Time Machine Backup benötigt etwa 2,3 TB Speicherplatz. Das ist nicht cool.
  • Ich kann dem Synology-Benutzer kein Kontingent zuweisen, da er von Null an zu zählen beginnt.

Was ich machen will; was ich vorhabe zu tun:

  • Wenn irgendwie möglich, möchte ich mein Time Machine Backup anweisen, automatisch auf ein Limit von ~ 1,5 TB zu schrumpfen, indem ich die ältesten Backups lösche.
  • Dann möchte ich, dass das spärliche Bündel nicht mehr größer wird.

Sieht jemand von euch eine Lösung? Oder muss ich alle meine alten Backups löschen , um mein Ziel zu erreichen?

Nur zur Info: Ich verwende OS X Yosemite 10.10.3 und die aktuelle Firmware auf meinem Synology NAS.

Antworten (5)

Time Machine wird eine Größenbestimmung beachten - aber nur, wenn Sie den Container machen . Diese Funktionalität ist alles, was Apple für die native Sicherung bereitstellt, sodass Sie ein benutzerdefiniertes Setup benötigen, um das zu tun, was Sie möchten, und Sie können die Dinge nicht einschränken, sobald Sie mit der Sicherung in einem Container begonnen haben.

Wenn Sie in Zukunft einen neuen eingeschränkten Container erstellen möchten, ist das Konzept jedoch nicht schwer zu skizzieren.

  • Erstellen Sie einen neuen Container auf der Synology und stellen Sie sicher, dass Sie die Größenbeschränkungen erzwingen, wenn Sie den Prozess starten.

Server.app macht das einfach - mir ist kein Synology-Code bekannt, der diese Funktion rückentwickelt hat, aber ich wäre überrascht, wenn er nicht auf GitHub oder irgendwo öffentlich veröffentlicht wäre.

An diesem Punkt könnten Sie alle Sicherungen von großen Benutzerordnern löschen und dann die alten Sicherungsdaten blockweise an das neue Ziel kopieren und dann die Sicherung erben.

Sie können die Sicherungsintervalle auch über die Befehlszeile ausdünnen oder diese Automatisierung ebenfalls per Skript ausführen.

Viel, viel Arbeit, aber es könnte sich als Projekt lohnen, wenn jemand geneigt ist.

Wenn ich an Ihrer Stelle bin, kopiere ich einfach das alte "zu große" Backup auf eine Offline-Festplatte und lege es in ein Regal und beginne mit neuen Backups in der gewünschten Größe. In 6 Monaten oder einem Jahr – löschen Sie dieses alte Laufwerk, es sei denn, Sie haben wirklich das Gefühl, dass Sie diesen älteren Verlauf benötigen.

Genau das, was ich getan habe: Ich habe mit einem neuen Time Machine Backup begonnen. Danke aber für die Antwort!
TimeMachine hat eine Einstellung, um eine Maxsize für das Sparsebundle festzulegen, aber meiner Erfahrung nach funktioniert dies nur für neue Sparsebundles, nicht für bestehende. Die einzige Lösung für sein Problem besteht darin, alte Backups zu löschen, und meine Lösung ist der beste Weg, dies zu tun.
Einverstanden - sollte ich das fett machen, aber nur, wenn Sie den Container machen oder das ändern, um klarer zu sein @RobertBarrueco
Ich fand heraus, dass das "Festplatten-Dienstprogramm" die Größe des Time Machine-Containers ändern konnte, wenn darin freier Speicherplatz vorhanden war, was wiederum dazu führte, dass Time Machine die neue, kleinere Containergröße als Limit verwendete. Das war auf meiner Time Capsule. Meine Vermutung ist, dass der anfängliche Container aus dem dann verfügbaren freien Platz konstruiert wird.

Dies ist die einfachste Lösung mit OSX Terminal.

Rufen Sie eine Liste aller Backups in TimeMachine ab. Dies zeigt Ihnen auch den vollständigen Verzeichnispfad zu den Backups, die Sie in Schritt 2 benötigen ...

$ tmutil listbackups

/Volumes/Time Machine Backups/Backups.backupdb/{your-macbook}/2018-10-02-213405
/Volumes/Time Machine Backups/Backups.backupdb/{your-macbook}/2018-10-09-192323
/Volumes/Time Machine Backups/Backups.backupdb/{your-macbook}/2018-10-19-212659

Wählen Sie anhand ihres Datums aus, welche Backups gelöscht werden sollen. Beachten Sie die Verwendung eines Platzhalters * und die Verwendung des Verzeichnisses aus Schritt 1. Um beispielsweise alle Sicherungen von 2018 zu löschen, würden Sie Folgendes verwenden:

$sudo tmutil delete '/Volumes/Time Machine Backups/Backups.backupdb/{your-macbook}/2018-'*

Der letzte Schritt besteht darin, Speicherplatz aus dem Sparse-Bundle zu verkleinern und zurückzugewinnen. Durchsuchen Sie Ihr Backup-Laufwerk nach der .sparsebundle-Datei.

$ sudo hdiutil compact '/Volumes/{Ihr-Mac}.sparsebundle'

Wie wird das Backup automatisch auf eine bestimmte Größe verkleinert, wie es das OP verlangt hat?

Verkleinern Sie das Backup-Volume auf die gewünschte Größe. Time Machine ist so konzipiert, dass es Backups hinzufügt, bis das Volume voll ist, und dann ältere Kopien löscht. Es ist NICHT darauf ausgelegt, Speicherplatz mit anderen Dingen zu teilen oder X Gigabyte am Zielort frei zu lassen.

Nun, ich kann das Volumen nicht verkleinern, weil es schon mehr Platz braucht als gewünscht. Das ist mein Problem.
Wie würden Sie das Volumen verkleinern?

Ich stimme der zuvor gegebenen Antwort zu, obwohl Sie versuchen könnten, Time Machine-Backups manuell zu löschen (auf eigenes Risiko).

Wenn Sie das Volume mounten, gibt es einen Ordner mit dem Namen "Backups.backupdb" (bei Remote-Backups kann es etwas anders aussehen). Darin steht Ihr Computername und dann entweder die Daten oder die Volumes oder umgekehrt (Entschuldigung, ich bin derzeit nicht an meinem eigenen Mac und kann die genaue Reihenfolge nicht überprüfen).

Wenn Sie einige frühere Datumsordner entfernen, geben Sie Speicherplatz frei, um die Größe des Volumes zu ändern.

HINWEIS: Denken Sie daran, dass Time Machine ein inkrementelles Backup ist, das Hardlinks für unveränderte Dateien verwendet. Wenn Sie also einen Datumsordner entfernen, wird möglicherweise nicht die Menge an Speicherplatz entfernt, auf die die Größe angegeben ist.

Diese Seite sagt, dass Sie Ihre Backups mit löschen sollen sudo tmutil delete.
Time Machine teilt unveränderte Dateien per Hardlink. Wenn Sie ein gesamtes Backup löschen, werden Dateien, die von anderen Backups verwendet werden, nicht gelöscht, sondern nur die Links.
momomo.com.apple.timemachine.backups.list() {
        tmutil listbackups
}
momomo.com.apple.timemachine.backups.compact() {
        local leave="${1}";

        if [[ "${leave}" == "" ]]; then leave="5"; fi

        local backups=(
                $(momomo.com.apple.timemachine.backups.list)
        )

        local length="${#backups[@]}"
        local     to="(("${length}"-"${leave}"))"

        local i=0; while [[ "${i}" -lt "${to}"  ]]; do
                local backup="${backups[i]}"

                sudo tmutil delete "${backup}"

                echo -e "\n\n"

                ((++i))
        done   
}

Beispiel:

# To leave last 10 on disk and remove all previous before
momomo.com.apple.timemachine.backups.compact 10 

Kann wiederholt angerufen werden.

    Deleting: /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2019-12-21-001329
    Deleted (4.6G): /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2019-12-21-001329
    Total deleted: 4.6G

    Deleting: /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2019-12-28-001355
    Deleted (5.1G): /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2019-12-28-001355
    Total deleted: 5.1G

    Deleting: /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2020-01-04-001349
    Deleted (6.6G): /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2020-01-04-001349
    Total deleted: 6.6G

    Deleting backup: /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2020-01-11-002303
    ...