Digital Ocean droplet backups أو Discourse backups؟

تعطل موقعي لبضع ساعات اليوم بسبب بعض مشاكل Docker/nginx، وفكرت في مرحلة ما في الاستعادة من نسخة احتياطية.

لحسن الحظ، تمكّنت من إعادة تشغيله مرة أخرى، لكن هذا جعلني أتساءل عن الإجراء الصحيح للاستعادة.

أنا أملك حاليًا نسخًا احتياطية تلقائية يومية لـ Discourse مُعدّة مع S3، بالإضافة إلى نسخ احتياطية أسبوعية للقطرات (droplets) في Digital Ocean. لكن، إذا لم أتمكن من الوصول إلى لوحة إدارة Discourse لأي سبب من الأسباب، كيف يجب أن أستعيد نسخة احتياطية سابقة؟

أفترض أنني سأضطر إلى القيام بالتالي:

  1. تحميل أحدث نسخة احتياطية من S3
  2. إنشاء قطرة جديدة في Digital Ocean
  3. تثبيت Discourse من الصفر
  4. استعادة النسخة الاحتياطية

كما سأحتاج إلى استبدال نسخة سابقة محفوظة من ملف app.yml وملف /etc/nginx/sites-available/default، وتعديل إعدادات DNS والمراسلة. هل توجد طريقة أبسط؟

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

قد يكون أحد الخيارات هو إعداد نسخ احتياطية يومية/كل ساعة باستخدام weap.io أو snapshooter.io. هل يُنصح بذلك؟

أود جدًا معرفة ما إذا كان هناك أي شيء أفتقده، أو ما إذا كان يجب أن أعتبر نهجًا آخر.

استخدام عنوان IP عائم في DigitalOcean هو الحل الأمثل:

نعم، تشمل النسخة الاحتياطية من Droplet كل شيء.

قبل إجراء تغييرات كبيرة، أقوم بأخذ لقطة (Snapshot) لـ Droplet في DigitalOcean، بحيث يمكن استعادتها بسهولة في حال حدوث أي مشكلة.