Réduire automatiquement la sauvegarde Time Machine existante à une taille fixe


11

J'ai cherché sur Google pendant des heures pour trouver une solution à ce problème, mais je n'ai pas trouvé de réponse adaptée à mon problème.

Ma configuration:

  • J'ai un iMac avec un disque dur de ~ 1 To
  • Je le sauvegarde via Time Machine sur un Synology NAS DS214 + avec ~ 2,7 To d'espace

Mon problème:

  • J'ai oublié de définir une taille limite pour l'utilisateur de sauvegarde. Non, ma sauvegarde Time Machine utilise environ 2,3 To d'espace. Ce n'est pas cool.
  • Je ne peux pas définir de quota pour l'utilisateur Synology, car il commence à compter à partir de zéro.

Ce que je veux faire:

  • Si possible, je veux dire à ma sauvegarde Time Machine de se réduire automatiquement à une limite de ~ 1,5 To en supprimant les sauvegardes les plus anciennes.
  • Ensuite, je veux que le paquet clairsemé ne grossisse plus.

Quelqu'un parmi vous voit-il une solution? Ou dois-je supprimer toutes mes anciennes sauvegardes pour atteindre mon objectif?


Juste pour info: j'utilise OS X Yosemite 10.10.3 et le firmware actuel sur mon Synology NAS.
michael

Réponses:


3

Time Machine respectera une détermination de taille - mais uniquement lorsque vous réaliserez le conteneur . Cette fonctionnalité est tout ce qu'Apple fournit pour la sauvegarde native, vous avez donc besoin d'une configuration personnalisée pour faire ce que vous demandez, et vous ne pouvez pas limiter les choses une fois que vous avez commencé à sauvegarder sur un conteneur.

À l'avenir, si vous souhaitez créer un nouveau conteneur restreint, le concept n'est pas difficile à cartographier.

  • créez un nouveau conteneur sur la synologie et assurez-vous d'appliquer les contraintes de taille lorsque vous démarrez le processus.

Server.app le fait facilement - je ne suis pas au courant du code de synologie qui a procédé à une ingénierie inverse de cette fonctionnalité, mais je serais surpris s'il n'était pas sur GitHub ou publié dans un endroit public.

À ce stade, vous pouvez supprimer toutes les sauvegardes de dossiers utilisateur volumineux, puis copier bloc par bloc les anciennes données de sauvegarde vers la nouvelle destination, puis hériter de la sauvegarde.

Vous pouvez également alléger les intervalles de sauvegarde à partir de la ligne de commande ou créer un script pour cette automatisation.

Beaucoup, beaucoup de travail, mais cela peut valoir la peine comme projet si quelqu'un est enclin.

Lorsque je suis à votre place, je copie simplement l'ancienne sauvegarde «trop volumineuse» sur un disque dur hors ligne et la place sur une étagère et recommence avec de nouvelles sauvegardes de la taille que vous aimez. En 6 mois ou un an - effacez ce vieux disque à moins que vous sentiez vraiment que vous avez besoin de cette histoire plus ancienne.


Excatement ce que j'ai fait: j'ai commencé avec une nouvelle sauvegarde Time Machine. Merci d'avoir répondu!
michael

TimeMachine a un paramètre pour définir une taille maximale pour le sparsebundle, mais d'après mon expérience, cela ne fonctionne que pour les nouveaux sparsebundles, pas les existants. La seule solution à son problème est de supprimer les anciennes sauvegardes et ma solution est la meilleure façon de le faire.
Robert Barrueco

D'accord - devrais-je mettre en gras le mais uniquement lorsque vous créez le conteneur ou le modifiez pour être plus clair @RobertBarrueco
bmike

J'ai trouvé que "Disk Utility" pouvait redimensionner le conteneur Time Machine s'il avait de l'espace libre à l'intérieur, ce qui a amené Time Machine à utiliser la nouvelle taille de conteneur plus petite comme limite. C'était sur ma Time Capsule. Je suppose que le conteneur initial est construit à partir de l'espace libre alors disponible.
Thorbjørn Ravn Andersen

2

Il s'agit de la solution la plus simple à utiliser avec OSX Terminal.

Obtenez une liste de toutes les sauvegardes dans TimeMachine. Cela vous montrera également le chemin d'accès complet au répertoire des sauvegardes dont vous aurez besoin à l'étape 2 ...

$ 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

Choisissez les sauvegardes à supprimer en fonction de leur date. Notez l'utilisation d'un caractère générique * et l'utilisation du répertoire de l'étape 1. Par exemple, pour supprimer toutes les sauvegardes de 2018, vous utiliseriez ceci:

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

La dernière étape consiste à réduire et à récupérer de l'espace du faisceau clairsemé. Recherchez le fichier .sparsebundle sur votre lecteur de sauvegarde.

$ sudo hdiutil compact '/Volumes/{your-mac}.sparsebundle'


Comment cela réduit-il automatiquement la sauvegarde à une taille spécifique comme l'OP l'a demandé?
nohillside

0

Réduisez le volume de sauvegarde à la taille souhaitée. Time Machine est conçu pour continuer à ajouter des sauvegardes jusqu'à ce que le volume soit plein, puis élaguer les anciennes copies. Il n'est PAS conçu pour partager l'espace de stockage avec d'autres choses, ni pour laisser X gigaoctets libres sur la destination.


5
Eh bien, je ne peux pas réduire le volume, car cela prend déjà plus d'espace que souhaité. C'est mon problème.
michael

1
comment voulez-vous réduire le volume?
jmh

0

Je suis d'accord avec la réponse donnée précédemment, bien que vous puissiez essayer de supprimer manuellement les sauvegardes Time Machine (à vos risques et périls).

Si vous montez le volume, il existe un dossier appelé "Backups.backupdb" (il peut être légèrement différent sur les sauvegardes distantes). À l'intérieur, il y aura le nom de votre ordinateur, puis les dates ou les volumes, ou vice versa (désolé, je suis actuellement loin de mon propre Mac et je ne peux pas vérifier la commande exacte).

Si vous supprimez des dossiers de dates antérieures, vous libérerez de l'espace afin de redimensionner le volume.

REMARQUE: Gardez à l'esprit que Time Machine est une sauvegarde incrémentielle utilisant des liens physiques pour les fichiers inchangés. Ainsi, la suppression d'un dossier de date peut ne pas supprimer la quantité d'espace dans laquelle il doit être dimensionné.


2
Ce site dit de supprimer vos sauvegardes en utilisant sudo tmutil delete.
Harvey

Time Machine partage des fichiers inchangés par lien physique. Si vous supprimez une sauvegarde complète, les fichiers utilisés par d'autres sauvegardes ne sont pas supprimés, seuls les liens.
WGroleau

0
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   
}

Exemple:

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

Peut être appelé à plusieurs reprises.

    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
    ...
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.