borg list
は、アーカイブ、barchive、時間、およびアーカイブのIDの一覧表示のみをサポートします。 たとえば、スペースが必要で大きなアーカイブを削除したい場合(https://github.com/borgbackup/borg/issues/2870など)、すべてのアーカイブサイズの概要を確認したいと思います。最大のものを見つけて、潜在的にそれらを削除します。
アーカイブごとにborg info
できることはわかっていますが、これには時間がかかり、多くのアーカイブで行うのは不便です。
もちろん、私は「このアーカイブ」の「重複サイズ」にのみ興味があります。
ただし、必要に応じて、値(またはその方法)を合計して、下部に「すべてのアーカイブのサイズ:XYGB」という行を表示することもできます。
おそらく、この情報を何らかの方法で/どこかにキャッシュする必要がありますが、通常、アーカイブのサイズは変更されないため、キャッシュが期限切れになることはありません(アーカイブが削除されない限り)。
最近まで、これに必要なインフラストラクチャがありませんborg list <repo>
。
ただし、アーカイブメタデータ全体を読み取る必要があるものの計算は、特に遅くなることに注意してください。 リストに多くのアーカイブが表示されているか、低速接続でリポジトリにアクセスしている場合。
borg info -a '*'
、 borg info --last/first x
borg info -a '*'
これが可能であることは興味深いですが、それはおおむね遅いです。
ただし、アーカイブメタデータ全体を読み取る必要があるものの計算は、特に遅くなることに注意してください。 リストに多くのアーカイブが表示されているか、低速接続でリポジトリにアクセスしている場合。
ええ、それが私が言った理由です:あなたはこの事実をただキャッシュすることはできませんか?
これが可能であることは興味深いですが、それはおおむね遅いです。
_重複したサイズ_を計算する必要があり、キャッシュすることはできません。そのため、#2764を使用するとかなり速くなりますが、これは常に少し遅くなります。
この機能を自分で望んで、私はこれ(技術的には:wink :)のワンライナーを一緒に叩いて、見たいようなアーカイブリストを取得しました。
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)
jq
を使用してJSONをフォーマットし、 numfmt
からcoreutils
を使用してサイズを人間が読めるようにします。 結果は次のようになります(代表的な行のセットにトリミングされます)。
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
アーカイブの速度はわずか39で問題ありませんが、バックアップ実行の一部として--last 1
て実行し、これを別のログに保存してオンデマンドで参照することが、実際に使用する方法になると思います。
最も参考になるコメント
この機能を自分で望んで、私はこれ(技術的には:wink :)のワンライナーを一緒に叩いて、見たいようなアーカイブリストを取得しました。
jq
を使用してJSONをフォーマットし、numfmt
からcoreutils
を使用してサイズを人間が読めるようにします。 結果は次のようになります(代表的な行のセットにトリミングされます)。アーカイブの速度はわずか39で問題ありませんが、バックアップ実行の一部として
--last 1
て実行し、これを別のログに保存してオンデマンドで参照することが、実際に使用する方法になると思います。