borg list
ne prend en charge que les archives de liste, barchive, l'heure et l'identifiant d'une archive. Cependant, lorsque je vois que j'ai besoin d'espace et que je souhaite supprimer de grandes archives (par exemple à cause de https://github.com/borgbackup/borg/issues/2870), j'aimerais voir un aperçu de toutes les tailles d'archives pour trouver les plus gros et potentiellement les supprimer.
Je sais que je pourrais borg info
chaque archive, mais cela prend du temps et n'est pas pratique à faire pour de nombreuses archives.
Bien entendu, je ne m'intéresse qu'à la "taille dédupliquée" de "cette archive".
Mais si vous le souhaitez, vous pouvez également résumer les valeurs (ou comment vous le faites) et afficher une ligne "taille de toutes les archives : XY Go" en bas.
Peut-être avez-vous besoin de mettre en cache ces informations d'une manière ou d'une autre, mais cela devrait être possible, car, généralement, la taille d'une archive ne change pas et le cache n'a donc jamais à expirer (à moins qu'une archive ne soit supprimée).
Jusqu'à récemment, l'infrastructure nécessaire pour cela manquait - je l'ai ajoutée (à la branche master) lorsque j'ai implémenté l'espace réservé "commentaire" pour borg list <repo>
. Il peut désormais calculer des éléments à la demande et non seulement afficher les données de l'entrée du manifeste, comme auparavant.
Mais, sachez que le calcul de tout ce qui a besoin de lire l'intégralité des métadonnées de l'archive sera lent, en particulier. si la liste montre de nombreuses archives et/ou si le dépôt est accessible via une connexion lente.
borg info -a '*'
, borg info --last/first x
borg info -a '*'
Intéressant que cela soit possible, mais c'est largement lent.
Mais, sachez que le calcul de tout ce qui a besoin de lire l'intégralité des métadonnées de l'archive sera lent, en particulier. si la liste montre de nombreuses archives et/ou si le dépôt est accessible via une connexion lente.
Ouais, c'est pourquoi j'ai dit : ne pouvez-vous pas simplement cacher ce fait ?
Intéressant que cela soit possible, mais c'est largement lent.
_Taille dédupliquée_ doit être calculée et ne peut pas être mise en cache - ce sera donc toujours un peu lent, bien que #2764 le rende beaucoup plus rapide.
Souhaitant moi-même cette fonctionnalité, j'ai giflé ce (techniquement :wink:) one-liner ensemble pour obtenir une liste d'archives comme je voudrais qu'elle ressemble:
printf 'Archive\t\t\t\t\tOrig\tComp\tDedup\n'; printf '%-32.32s\t%s\t%s\t%s\n' $(borg info --json --sort-by name --glob-archives '*' REPO | jq '.archives[] | "\(.name) \(.stats.original_size) \(.stats.compressed_size) \(.stats.deduplicated_size)"' | sed --expression='s/^"//;s/"$//' | numfmt --field='2-4' --to=iec)
Il utilise jq
pour formater le JSON et numfmt
de coreutils
pour rendre les tailles lisibles par l'homme. Le résultat ressemble à ceci (découpé à un ensemble représentatif de lignes) :
Archive Orig Comp Dedup
hostname-home-20190613-090600 288G 92G 12K
hostname-home-20190613-091013 288G 92G 117K
hostname-home-20190617-005337 220G 61G 6.9M
hostname-home-20190617-022904 288G 92G 16M
hostname-home-20190617-225658 288G 92G 40K
hostname-sysconfig-20190617-023108 12M 3.2M 40K
hostname-sysconfig-20190617-225820 12M 3.2M 32K
hostname-sysconfig-20190618-144623 12M 3.2M 105K
hostname-sysconfig-20190621-224259 13M 3.3M 110K
hostname-system-20190613-081754 300G 97G 20M
hostname-system-20190613-091212 300G 97G 14M
hostname-system-20190618-144635 300G 97G 37M
hostname-system-20190621-224311 308G 98G 4.6M
hostname-system-20190621-230350 308G 98G 617K
Avec seulement 39 archives, la vitesse est correcte, mais je suppose que le faire avec --last 1
dans le cadre de la sauvegarde et le stocker dans un journal séparé pour consulter à la demande sera le moyen de l'utiliser dans la pratique.
Commentaire le plus utile
Souhaitant moi-même cette fonctionnalité, j'ai giflé ce (techniquement :wink:) one-liner ensemble pour obtenir une liste d'archives comme je voudrais qu'elle ressemble:
Il utilise
jq
pour formater le JSON etnumfmt
decoreutils
pour rendre les tailles lisibles par l'homme. Le résultat ressemble à ceci (découpé à un ensemble représentatif de lignes) :Avec seulement 39 archives, la vitesse est correcte, mais je suppose que le faire avec
--last 1
dans le cadre de la sauvegarde et le stocker dans un journal séparé pour consulter à la demande sera le moyen de l'utiliser dans la pratique.