جدول النسخ الاحتياطية بشكل متكرر، ونفّذ أمر forget عبر وحدة تحكم واحدة للمستودع، وشغّل prune على فترات أقل داخل نافذة صيانة حصرية. لا تسمح لكل مضيف بامتلاك المهام الثلاث كلها.
يحتاج مستودع خادم منزلي مشترك إلى نوعين من التوقيت: نقاط استعادة لكل مضيف، وصيانة على مستوى المستودع بأكمله. أنشئ الجدول استنادًا إلى المدد المقاسة وأهداف الاستعادة، لا إلى أمثلة ثابتة من الإنترنت. اجعل الاحتفاظ وprune مركزيين، واجمع اللقطات بشكل صحيح، ورتّب الوحدات صراحةً، وامنح كل مهمة متخطاة آلية إعادة محاولة وتنبيهًا. لا يكتمل الجدول إلا بعد أن تثبت دورتان كاملتان واختبار استعادة نموذجي أن الاحتفاظ والقفل يعملان كما هو مقصود.
احصر كل مهمة ومالكها وأسوأ مدة طبيعية لها
أنشئ جدولًا لكل عملية تلامس المستودع: النسخ الاحتياطي، وforget، وprune، وcheck، وunlock، وسرد اللقطات، واختبار الاستعادة. سجّل المضيف الذي يبدأ العملية، والأمر أو الغلاف البرمجي، وبيانات الاعتماد، والمدة الطبيعية وأسوأ مدة حديثة، والمهلة، وقاعدة إعادة المحاولة، ووجهة التنبيه. أدرج أيضًا المهام المخفية داخل تطبيقات النسخ الاحتياطي أو واجهات أجهزة NAS.
يحتاج المستودع المشترك إلى صيانة على مستوى المستودع بدلًا من نسخة لكل عميل. وتُسنِد ممارسات Restic العملية متعددة المضيفين مهام forget وprune وcheck مرة واحدة لكل مستودع، مع تجميع سياسات الاحتفاظ للمضيفين والمسارات المعنية.
وحّد مهام الصيانة المكررة تحت وحدة تحكم واحدة. أبقِ ملكية النسخ الاحتياطي لكل مضيف عندما يفيد ذلك في الوصول إلى المصدر، لكن اجعل كل مضيف يرسل حالة البدء والانتهاء إلى وحدة التحكم. إذا لم تكن للمهمة مدة مقاسة أو مالك محدد، فراقبها قبل وضع نافذة صيانة حولها.
حدّد وتيرة النسخ الاحتياطي أولًا، ثم نطاق forget
اختر وتيرة النسخ الاحتياطي لكل مضيف وفقًا لكمية التغييرات التي يمكنك تحمّل فقدانها والمدة المعتادة للنسخ الاحتياطي. وزّع عمليات فحص المصادر الكبيرة زمنيًا إذا كانت تتنافس على الشبكة أو التخزين، لكن لا تفرّق المهام لمجرد جعل المخطط يبدو مرتبًا. اجعل أطول نسخة احتياطية طبيعية تحدد أبكر وقت لبدء الصيانة.
شغّل forget من وحدة تحكم المستودع، واعرض معاينة الاختيار باستخدام تجميع المضيف والمسار والعلامة المقصود. قد يؤدي التجميع غير المتوقع حسب التقويم إلى جعل سياسة الاحتفاظ بإزالة نقاط استعادة أكثر مما يوحي به تفسير بسيط لعدد النسخ المحتفظ بها.
أبقِ forget منفصلًا منطقيًا عن prune الفعلي عند تصميم الجدول. يمكن تشغيل سياسة الاحتفاظ التي تمت معاينتها بعد نجاح النسخ الاحتياطي أو في مرحلة مستقلة لوحدة التحكم، بينما يحصل prune على نافذة حصرية أطول. لا تربط prune بالنسخة الاحتياطية لكل مضيف لمجرد أن أمرًا واحدًا يستطيع الجمع بينهما.
ضع prune وcheck في نوافذ على مستوى المستودع
شغّل prune بوتيرة أقل من النسخ الاحتياطي، وعادةً أقل من forget أيضًا، لأن تنظيف المستودع فعليًا قد يستغرق وقتًا أطول بكثير ويمنع الأعمال الأخرى. ضعه بعد انتهاء جميع النسخ الاحتياطية المتوقعة وتحديد سياسة الاحتفاظ. امنح check مرحلته أو نافذته الخاصة وفقًا لحجم المستودع وسرعة الواجهة الخلفية.
يمكن لـإعداد Restic مع systemd إبقاء النسخ الاحتياطي وprune في خدمتين منفصلتين، بحيث يراقب المجدول حالات الخروج الخاصة بهما بدلًا من تشغيل أمر واحد مبهم.
إذا تجاوز prune النافذة بانتظام، فلا تسمح بتراكم النسخ الاحتياطية بصمت. قلّل وتيرة prune، أو وسّع النافذة، أو افحص معدل نقل الواجهة الخلفية، أو اقسم المستودعات عندما لا تعود احتياجاتها التشغيلية متوافقة. يتطلب البدء عدم وجود نسخة احتياطية نشطة، ويتطلب الانتهاء حالة صيانة سليمة وتحرير قفل المستودع.
شفّر التبعيات وإعادات المحاولة والتنبيهات
شفّر الترتيب المقصود بدلًا من الاعتماد على الفواصل الزمنية: تُبلغ وحدات النسخ الاحتياطي عن اكتمالها، ولا يعمل forget إلا بعد النسخ الاحتياطية المطلوبة، ولا يعمل prune إلا بعد دخول المستودع نافذته الحصرية، ويأتي check وفق سياسة الصيانة المختارة. استخدم بوابة خارجية مشتركة تحترمها جميع الوحدات المعنية.
يمكن لأهداف systemd التعبير عن أن تبعات النسخ الاحتياطي والصيانة يجب أن تكتمل بالترتيب، بدلًا من مجرد البدء في أوقات مختلفة.
حدّد عددًا محدودًا من إعادات المحاولة عند تعارض الأقفال وأعطال الشبكة، ثم أرسل تنبيهًا عند تجاوز الموعد النهائي. ينبغي أن تؤخر النسخة الاحتياطية المتأخرة prune؛ وينبغي أن يؤخر prune الذي تجاوز مدته النسخة الاحتياطية التالية مع إخطار المشغّل. لا تُعدّ خيارات الفتح القسري وno-lock سياسات لإعادة المحاولة.
تحقق من دورتين كاملتين واستعادة واحدة
راقب دورتين كاملتين بدلًا من إعلان النجاح بعد تحميل ملفات المؤقتات. تأكد من أن كل مصدر ينتج اللقطة المتوقعة، وأن forget يحتفظ بالمجموعات المقصودة، وأن prune يعمل في نافذته فقط، وأن الأقفال تُزال بعد عمليات الخروج السليمة، وأن التنبيهات تسجل أي تأخير.
استعد الملفات من لقطة نجت من تسلسل الاحتفاظ وprune، وليس من أحدث نسخة احتياطية فقط. يثبت ذلك أن الجدول الكامل يحافظ على نقطة استعادة صالحة للاستخدام، بدلًا من مجرد إنتاج حالات مهام خضراء.
ينجح الجدول عندما تكتمل دورتان بالترتيب، ولا تختفي أي مهمة بصمت، وتتطابق اللقطات المحتفظ بها مع المعاينة، وتكون الاستعادة النموذجية صحيحة. أوقف أتمتة الصيانة مؤقتًا مع الإبقاء على النسخ الاحتياطية العادية إذا أزالت سياسة الاحتفاظ المجموعة الخاطئة، أو تعذّر على prune الإكمال بشكل موثوق، أو تكررت تعارضات الأقفال. اضبط الوتيرة استنادًا إلى النتائج المقاسة، لا بتعطيل حماية المستودع.
الدعم والنصائح
المزيد للقراءة

كيفية منع مهام تقليم Restic من عرقلة النسخ الاحتياطية المجدولة
خطة وقائية لمستودعات Restic المشتركة تفصل بين نوافذ النسخ الاحتياطي وعمليات الحذف، مع الإبقاء على آليات القفل وإعادة المحاولة والتنبيهات سليمة.

كيفية إزالة قفل Restic العالق دون مقاطعة عملية نسخ احتياطي نشطة
سير عمل لفتح قفل Restic بأقل قدر من التدخل، يحمي عمليات النسخ الاحتياطي النشطة، ويزيل الحالة القديمة فقط، ويؤكد الاسترداد وفق الجدول المعتاد.

لماذا تتوقف نسخة Restic الاحتياطية عند بدء مضيف آخر في تنظيف النسخ القديمة؟
تشخيص مركّز لتعارض أقفال Restic أثناء عملية التنظيف، بما في ذلك التحقق من مالك القفل، والاسترداد الآمن، وإعادة اختبار حالة المُشغِّل، وشروط الإيقاف.

