Borg: وضع علامات على المحفوظات لـ "تقليم"؟

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

في الوقت الحالي ، يمكن لـ borg prune تقييد المحفوظات ليتم تقليمها ببادئة مشتركة. يعمل هذا مع أنظمة التسمية حيث كان الجزء "ذو الصلة بتقليم" من أسماء الأرشيف في المقدمة ، على سبيل المثال system-<hostname>-<date> و userdata-<hostname>-<date> ، لكنه لا يعمل حقًا لأي شيء آخر.

من شأن إضافة العلامات ، أي قائمة السلاسل التعسفية (باستثناء "،" التي قد تكون فاصل العلامات) أن تساعد. "prune" والأوامر الأخرى التي تستخدم "--prefix" ستحصل على خيار "--tags" ، والأرشيفات التي تحتوي على علامات _all_ (أو _any_ ، مناقشة) المدرجة فقط هي التي ستتأثر (ويجب أن تكون غير قابلة للتغيير لهذا السبب).


تحرير: نهج مختلف ربما ، لا توجد حقول بيانات وصفية إضافية ، قابلة للتطبيق بشكل عكسي .

الأسماء موجودة بالفعل. يمكننا فقط إضافة شيء مثل --tags some,tags (استخدم دائمًا , كمحدد هنا؟) و --tag-delim - (ما هو التحديد الافتراضي؟).

tags = set(args.tags.split(args.tag_delim))
for archive in ...:
  if set(archive.name.split(args.tag_delim)) <= tags:
    ...  # prune
enhancement

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

أرغب في إرسال طلب الميزة هذا للعلامات / الأسماء المستعارة.

بعد قضاء الكثير من الوقت في عالم git ، أجد نفسي أتمنى أن أتمكن من تطبيق علامات إضافية على أرشيفات borg محددة.

من الممكن حاليًا تضمين العلامات في اسم الأرشيف ، ولكن هذا صعب تمامًا عندما تريد استخدام علامات متعددة للأرشيف. على سبيل المثال ، أنا بالفعل أستخدم اسم الأرشيف لتضمين اسم المضيف والطابع الزمني وحقل واحد أو اثنين آخرين. أريد أيضًا إضافة علامات إضافية مثل "latest" و "@ release-1". هذا يصبح فوضوي بسرعة. والأسوأ من ذلك ، أرغب أحيانًا في نقل علامة مثل @ الأحدث من أرشيف إلى آخر.

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

حاليًا ، عملي هو إنشاء الأرشيف الأصلي بنظام التسمية الذي ابتكرته ، ثم إنشاء أرشيفات إضافية متعددة على الفور بأسماء تبدأ بـ "@" - @ أحدث ، @ v1.0 ، @ beta2 ، كل واحد من هذه المحفوظات الإضافية يستغرق بضع دقائق لمسح / إنشاء ، ويضيف بضع مئات من البايتات فقط إلى المستودع لأن المحتويات متطابقة تمامًا مع الأرشيف الأصلي. (حسنًا ، طالما أن الملفات لم تتغير في هاتين الدقيقتين.)

سيكون من الجيد حقًا القضاء على هذا التباطؤ عن طريق إضافة بيانات وصفية للعلامات.

أتخيل أن تكون واجهة المستخدم شيئًا مثل هذا:

  • أنشئ علامة جديدة ووجهها إلى أرشيف موجود:
    borg tag [repo::archive-name] [tag1] [tag2] ...

  • ضع قائمة بجميع العلامات والمحفوظات التي تشير إليها
    borg tag --list [repo]

  • يمكن أن يؤدي حذف العلامات إلى إعادة استخدام الأمر الحالي borg delete أو يمكن أن يكون أيضًا خيار أمر:
    borg tag -d [repo] [tagname]

شكرا لاخذ هذا في الاعتبار!

ال 5 كومينتر

يبدو أن خلط الأسماء والعلامات غير نظيف. يمكن أن تكون العلامات بيانات وصفية منفصلة للأرشيف.

نقطة جيدة ، لكني لست متأكدًا مما إذا كان هذا غير مقبول هنا (كقرار تصميم). # 866 جعلني أفكر "حسنًا ، ما هو اسم الأرشيف حقًا؟". "إعادة التدوير" لوضع العلامات ليس شيئًا نظيفًا حقًا ، لكنه يبدو عمليًا جدًا بالنسبة لي (إذا كان التمكين صريحًا بنسبة 100٪). بطريقة ما تكون "العلامات" طريقة مختلفة للنظر إلى حقل "الاسم".

أرغب في إرسال طلب الميزة هذا للعلامات / الأسماء المستعارة.

بعد قضاء الكثير من الوقت في عالم git ، أجد نفسي أتمنى أن أتمكن من تطبيق علامات إضافية على أرشيفات borg محددة.

من الممكن حاليًا تضمين العلامات في اسم الأرشيف ، ولكن هذا صعب تمامًا عندما تريد استخدام علامات متعددة للأرشيف. على سبيل المثال ، أنا بالفعل أستخدم اسم الأرشيف لتضمين اسم المضيف والطابع الزمني وحقل واحد أو اثنين آخرين. أريد أيضًا إضافة علامات إضافية مثل "latest" و "@ release-1". هذا يصبح فوضوي بسرعة. والأسوأ من ذلك ، أرغب أحيانًا في نقل علامة مثل @ الأحدث من أرشيف إلى آخر.

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

حاليًا ، عملي هو إنشاء الأرشيف الأصلي بنظام التسمية الذي ابتكرته ، ثم إنشاء أرشيفات إضافية متعددة على الفور بأسماء تبدأ بـ "@" - @ أحدث ، @ v1.0 ، @ beta2 ، كل واحد من هذه المحفوظات الإضافية يستغرق بضع دقائق لمسح / إنشاء ، ويضيف بضع مئات من البايتات فقط إلى المستودع لأن المحتويات متطابقة تمامًا مع الأرشيف الأصلي. (حسنًا ، طالما أن الملفات لم تتغير في هاتين الدقيقتين.)

سيكون من الجيد حقًا القضاء على هذا التباطؤ عن طريق إضافة بيانات وصفية للعلامات.

أتخيل أن تكون واجهة المستخدم شيئًا مثل هذا:

  • أنشئ علامة جديدة ووجهها إلى أرشيف موجود:
    borg tag [repo::archive-name] [tag1] [tag2] ...

  • ضع قائمة بجميع العلامات والمحفوظات التي تشير إليها
    borg tag --list [repo]

  • يمكن أن يؤدي حذف العلامات إلى إعادة استخدام الأمر الحالي borg delete أو يمكن أن يكون أيضًا خيار أمر:
    borg tag -d [repo] [tagname]

شكرا لاخذ هذا في الاعتبار!

بدأت تجربة borg مؤخرًا فقط ولكنها أرادت إجراء 1+ لفكرة وضع العلامات. يمكنني رؤية حالة استخدام ذات صلة بالنسخ الاحتياطية حيث يتم استخدام العلامات لتحديد الخدمات السحابية المتعددة التي يتم نسخ الأرشيف احتياطيًا إليها. أتخيل (بناءً على مناقشات أخرى) أن النسخ الاحتياطي السحابي سيكون على الأرجح عبر أداة منفصلة تلتقط العلامات ، وعلى سبيل المثال ، تتعامل مع إنشاء ملف * .tgz ليتم تحميله. (يمكنك أيضًا إضافة تردد احتياطي كعلامة منفصلة قابلة للاكتشاف ، ولكن هذا النوع من الأشياء سيكون ضمن نطاق أداة النسخ الاحتياطي بدلاً من borg نفسها.)

راجع المشكلة رقم 2300 من أجل تنفيذ محتمل للعلامة. إنها حاليًا تشبه git tag أكثر من أنها تشبه تصنيفات Gmail - وبعبارة أخرى ، يمكن أن توجد أسماء مستعارة إضافية للأرشيف ، لكنها يجب أن تكون فريدة. قد لا يكون من الصعب دمج هذه الفكرة مع ما تمت مناقشته هنا - يتم تطبيق التسميات على أرشيفات متعددة.

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