Borg: العناصر النائبة الحجم لقائمة البرج<repo/>

تم إنشاؤها على ٢٤ يوليو ٢٠١٧  ·  5تعليقات  ·  مصدر: borgbackup/borg

لا يدعم borg list سوى أرشيف القوائم والوقت والمعرف للأرشيف. عندما أرى ، على سبيل المثال ، أنني بحاجة إلى مساحة وأريد حذف الأرشيفات الكبيرة ، (على سبيل المثال ، بسبب https://github.com/borgbackup/borg/issues/2870) ، أود أن أرى نظرة عامة على جميع أحجام الأرشيف العثور على أكبرها ويحتمل حذفها.
أعلم أنه يمكنني borg info لكل أرشيف ، لكن هذا يستغرق بعض الوقت وهو غير ملائم للعديد من الأرشيفات.
بالطبع ، أنا مهتم فقط "بالحجم غير المكرر" لـ "هذا الأرشيف".

ولكن إذا كنت ترغب في ذلك ، يمكنك أيضًا تلخيص القيم (أو كيفية القيام بذلك) وعرض سطر "حجم جميع المحفوظات: XY GB" في الجزء السفلي.

ربما تحتاج إلى تخزين هذه المعلومات مؤقتًا بطريقة ما / في مكان ما ، ولكن يجب أن يكون ذلك ممكنًا ، حيث لا يتغير حجم الأرشيف عادةً وبالتالي لا تنتهي صلاحية ذاكرة التخزين المؤقت أبدًا (ما لم يتم حذف الأرشيف).

التعليق الأكثر فائدة

أتمنى هذه الميزة بنفسي ، لقد صفعت هذا (تقنيًا: 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 كجزء من تشغيل النسخ الاحتياطي وتخزين هذا في سجل منفصل للتشاور عند الطلب سيكون طريقة لاستخدامه في الممارسة العملية.

ال 5 كومينتر

حتى وقت قريب ، كانت البنية التحتية اللازمة لذلك مفقودة - لقد أضفتها (إلى الفرع الرئيسي) عندما قمت بتطبيق العنصر النائب "التعليق" لـ 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 كجزء من تشغيل النسخ الاحتياطي وتخزين هذا في سجل منفصل للتشاور عند الطلب سيكون طريقة لاستخدامه في الممارسة العملية.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

ypid picture ypid  ·  6تعليقات

phdoerfler picture phdoerfler  ·  6تعليقات

russelldavis picture russelldavis  ·  3تعليقات

pierreozoux picture pierreozoux  ·  4تعليقات

htho picture htho  ·  5تعليقات