انتقل إلى المحتوى الرئيسي انتقل إلى الملاحة انتقل إلى التذييل

التنظيف

إزالة النسخ الاحتياطية المعزولة واللقطات القديمة وصور المستودعات غير المستخدمة لاستعادة مساحة القرص.

التنظيف

يقوم التنظيف بإزالة الموارد التي لم تعد مُشار إليها في أي ملف تكوين. هناك أمران للتنظيف يستهدفان أنواعًا مختلفة من الموارد:

  • rdc storage prune — يحذف ملفات النسخ الاحتياطي المعزولة من التخزين السحابي/الخارجي
  • rdc machine prune — ينظف عناصر مخزن البيانات و(اختياريًا) صور المستودعات المعزولة على الجهاز

تنظيف التخزين

يفحص مزود التخزين ويحذف النسخ الاحتياطية التي لم تعد معرّفات GUID الخاصة بها تظهر في أي ملف تكوين.

# Dry-run (default) — shows what would be deleted
rdc storage prune my-s3 -m server-1

# Actually delete orphaned backups
rdc storage prune my-s3 -m server-1

# Override grace period (default 7 days)
rdc storage prune my-s3 -m server-1 --grace-days 14

ما الذي يتم فحصه

  1. يسرد جميع معرّفات GUID للنسخ الاحتياطية في التخزين المحدد.
  2. يفحص كل ملفات التكوين على القرص (~/.config/rediacc/*.json).
  3. تكون النسخة الاحتياطية معزولة إذا لم يكن معرّف GUID الخاص بها مُشارًا إليه في قسم المستودعات في أي تكوين.
  4. المستودعات المؤرشفة حديثًا ضمن فترة السماح تكون محمية حتى لو أُزيلت من التكوين النشط.

تنظيف الجهاز

ينظف الموارد على الجهاز في مرحلتين.

المرحلة 1: تنظيف مخزن البيانات (يعمل دائمًا)

يزيل مجلدات التحميل الفارغة وملفات القفل القديمة ولقطات BTRFS القديمة.

# Dry-run
rdc machine prune server-1 --dry-run

# Execute cleanup
rdc machine prune server-1

المرحلة 2: صور المستودعات المعزولة (اختياري)

باستخدام --orphaned-repos، يقوم CLI أيضًا بتحديد صور مستودعات LUKS على الجهاز التي لا تظهر في أي ملف تكوين ويحذفها.

# Dry-run (default behavior when is set)
rdc machine prune server-1

# Actually delete orphaned repos
rdc machine prune server-1

# Custom grace period
rdc machine prune server-1 --grace-days 30

نموذج الأمان

التنظيف مصمم ليكون آمنًا بشكل افتراضي عبر إعدادات التكوين المتعددة.

الوعي بالتكوينات المتعددة

يفحص كلا أمري التنظيف جميع ملفات التكوين في ~/.config/rediacc/، وليس فقط التكوين النشط. لن يتم حذف مستودع مُشار إليه في production.json حتى لو كان غائبًا عن staging.json. هذا يمنع الحذف العرضي عندما تكون التكوينات مخصصة لبيئات مختلفة.

فترة السماح

عند إزالة مستودع من تكوين، قد تتم أرشفته مع طابع زمني. تحترم أوامر التنظيف فترة سماح (7 أيام افتراضيًا) يتم خلالها حماية المستودعات المؤرشفة حديثًا من الحذف. يمنحك هذا وقتًا لاستعادة مستودع إذا تمت إزالته عن طريق الخطأ.

التشغيل التجريبي بشكل افتراضي

يعمل storage prune وmachine prune في وضع التشغيل التجريبي بشكل افتراضي. يعرضان ما سيتم إزالته دون إجراء أي تغييرات. مرر --no-dry-run أو --force لتنفيذ الحذف الفعلي.

التكوين

pruneGraceDays

عيّن فترة سماح افتراضية مخصصة في ملف التكوين حتى لا تحتاج إلى تمرير --grace-days في كل مرة:

# Set grace period to 14 days in the active config
rdc config set pruneGraceDays 14

يتجاوز علم CLI --grace-days هذه القيمة عند تقديمه.

الأولوية

  1. علم --grace-days <N> (الأولوية الأعلى)
  2. pruneGraceDays في ملف التكوين
  3. القيمة الافتراضية المدمجة: 7 أيام

أفضل الممارسات

  • شغّل التشغيل التجريبي أولاً. قم دائمًا بالمعاينة قبل تنفيذ تنظيف مدمر، خاصة على تخزين الإنتاج.
  • حافظ على تحديث التكوينات المتعددة. يفحص التنظيف جميع التكوينات في مجلد التكوين. إذا كان ملف تكوين قديمًا أو محذوفًا، تفقد مستودعاته الحماية. حافظ على دقة ملفات التكوين.
  • استخدم فترات سماح سخية للإنتاج. فترة السماح الافتراضية 7 أيام تناسب معظم سيناريوهات العمل. لبيئات الإنتاج ذات فترات الصيانة غير المتكررة، فكر في 14 أو 30 يومًا.
  • جدوِل تنظيف التخزين بعد عمليات النسخ الاحتياطي. اربط storage prune بجدول النسخ الاحتياطي للتحكم في تكاليف التخزين دون تدخل يدوي.
  • ادمج تنظيف الجهاز مع deploy-backup. بعد نشر جداول النسخ الاحتياطي (rdc machine deploy-backup)، أضف تنظيفًا دوريًا للجهاز لتنظيف اللقطات القديمة وعناصر مخزن البيانات المعزولة.
  • راجع قبل استخدام --force. يتجاوز علم --force فترة السماح. استخدمه فقط عندما تكون متأكدًا أن لا تكوين آخر يشير إلى المستودعات المعنية.