نسخ Nibleaf احتياطيًا واستعادته وترقيته
اجمع بيانات Postgres وتخزين الكائنات في مجموعة استعادة واحدة، واختبر الاستعادة في بيئة معزولة، ثم رقِّ إصدار Nibleaf المثبّت أو تراجع إلى الإصدار السابق.
- 2 دقيقة قراءة
- آخر تحديث 22/08/2026
تتضمن مجموعة الاستعادة القابلة للاستخدام Postgres وتخزين الكائنات من النافذة التشغيلية نفسها. وتُعد نسخة قاعدة البيانات من دون الأصول المرفوعة غير مكتملة. احتفظ بنسخ خارج المضيف والحساب المستخدمين للخدمة الحية، وأثبت نجاح الاستعادة قبل الاعتماد عليها.
إنشاء نسخة احتياطية
عند التنفيذ من نسخة محلية للمستودع، يستخدم السكربت المضمّن افتراضيًا
docker-compose.prod.yml و./backups ومدة احتفاظ محلية تبلغ 14 يومًا ووحدة
تخزين maxio المضمّنة:
./scripts/backup.sh
في مجلد أنشأه المثبّت الإرشادي حيث يحمل ملف Compose الاسم
docker-compose.yml، وجّه السكربت إلى ذلك الملف:
COMPOSE_FILE=docker-compose.yml ./scripts/backup.sh
ينشئ السكربت ملف pg_dump بتنسيق مخصّص، وينشئ أرشيف تخزين مضغوطًا عندما تكون
وحدة تخزين Docker المهيّأة موجودة. لا تلتقط خطوة وحدة تخزين Docker حاويات R2
أو S3 الخارجية؛ استخدم إمكانات المزوّد لإدارة الإصدارات أو النسخ المتماثل، أو
أنشئ نسخة احتياطية مستقلة للحاوية.
انقل الملفين إلى خارج المضيف باستخدام بيانات اعتماد منفصلة، وسجّل المعرّفات والأحجام والطوابع الزمنية وسياسة الاحتفاظ وإصدار التطبيق.
اختبار الاستعادة
لا تستبدل بيئة الإنتاج مطلقًا عند إجراء تمرين. أنشئ قاعدة بيانات ووجهة تخزين
ومصدر تطبيق معزولة. اتبع أوامر الاستعادة الموثّقة في أعلى
scripts/backup.sh، ثم تحقق من المشاريع والعضويات وأشجار الصفحات والمسودات
الحالية وعمليات النشر ذات الحالة READY والأصول المرفوعة وعزل المصادقة والبحث
العام.
سجّل الزمن المنقضي وكل خطوة يدوية. لا يُعد رمز خروج ناجح لمهمة النسخ الاحتياطي دليلًا على قابلية الاستعادة من دون نجاح استعادة معزولة.
ترقية إصدار مثبّت
اقرأ ملاحظات كل إصدار وسيط، وتحقق من أي تغييرات خاصة بالإصدار في الترحيل أو
التهيئة. أنشئ نسخة احتياطية واختبر استعادتها، ثم غيّر NIBLEAF_VERSION في
.env إلى وسم إصدار موجود:
NIBLEAF_VERSION=v0.2.0
اسحب الخدمات وأعد إنشاءها:
docker compose -f docker-compose.prod.yml pull
docker compose -f docker-compose.prod.yml up -d
تحقق من ملخّص الصورة الرقمي، وسجل الترحيل، وسلامة الخدمات، وتسجيل الدخول، وعملية رفع واحدة، وعملية نشر واحدة، وعملية بحث واحدة، وصفحة عامة واحدة.
التراجع الآمن إلى الإصدار السابق
إذا لم يُنفّذ أي ترحيل للمخطط، فثبّت الصورة السابقة وأعد إنشاء الخدمات. وإذا غيّر ترحيل أحادي الاتجاه قاعدة البيانات، فأوقف عمليات الكتابة واستعد مجموعة الاستعادة السابقة للترقية قبل تشغيل التطبيق الأقدم.
لا تجمع ترقية التطبيق مع تغيير الإصدار الرئيسي لـPostgreSQL. تعامل مع ترقية قاعدة البيانات على أنها مشروع مستقل للتفريغ والاستعادة.