هل النسخ الاحتياطي اليومي كافٍ؟

أنا شخص “متحكم” بعض الشيء عندما يتعلق الأمر بعدم فقدان أي بيانات. إن رؤية النسخ الاحتياطية اليومية فقط تجعلني أشعر دائمًا بأنه يمكن أن يحدث شيء للخادم وفجأة تختفي بيانات يوم كامل، والتي يمكن أن تكون مهمة للغاية.

بدون الخوض في تفاصيل تقنية، لأنني لست خبيرًا، ألن يكون النظام الذي يتم فيه نسخ ما يتم نشره/إضافته إلى خادم آخر ممكنًا؟ أعتقد أن هذه هي الطريقة التي يعمل بها موقع تواصل اجتماعي عندما ننشر المحتوى؟

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

كيف تتعاملون مع هذا؟

من غير المرجح للغاية أن يواجه جهاز VPS جيد على منصة جيدة أي مشاكل، وخاصة بين الترقيات.

في ما يقرب من 8 سنوات من تشغيل أحد منتدياتي، لم أفقد أي بيانات على الإطلاق.

تم تصميم الدفعة اليومية كمفاضلة لمعظم مستضيفي المواقع بأنفسهم.

إنه نظام بسيط نوعًا ما، ونظامي، ولا يتطلب مساحة ومعالجة كبيرة.

لا أستطيع أن أتخيل أنه يستحق القيام به بشكل متكرر بالنسبة لمعظم الناس.

لم أحتاج أبدًا إلى استخدام نسخة احتياطية لأعطال الاتصال بالإنترنت، بل أستخدمها فقط للترحيل إلى خوادم جديدة، إذا لزم الأمر (لأنني تجاوزت سعة الخادم الأصغر!)

قد تختلف النتائج معك (YMMV)

ومع ذلك، إذا كنت تعتقد أنك بحاجة إلى إعداد أكثر تكرارًا… فاستعد لتخصيص الإعداد الخاص بك وكن مستعدًا للحفاظ على هذا التخصيص (مما سيتضمن تعلم كيفية القيام بذلك و/أو توظيف شخص لمساعدتك).

3 إعجابات

النسخ الاحتياطي والتكرار شيئان مختلفان.

توفر النسخ الاحتياطية لقطة للبيانات في نقطة معينة. إنها توفر نقطة استعادة.

التكرار هو توزيع كل إجراء على نظام مختلف حتى يكون لديك في أكثر من موقع واحد. يتم أيضًا تكرار عمليات الحذف.

إذا كنت تريد حقًا أن تكون متسامحًا مع الأخطاء، فأنت بحاجة إلى كليهما. (والمزيد…)

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

يستخدم Discourse آليتين للتخزين:

  1. قاعدة بيانات PostgreSQL لكل شيء باستثناء الملفات المرفقة
  2. يتم تخزين الملفات المرفقة على النظام المحلي أو في S3

لنسخ البيانات المخزنة في قاعدة بيانات PostgreSQL احتياطيًا و/أو تكرارها، يمكنك مراجعة وثائق PostgreSQL حول كيفية القيام بذلك. بخصوص النسخ الاحتياطي، والتكرار.

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

يعد إنشاء نسخ احتياطية كاملة مهمة ثقيلة تعتمد على كمية البيانات. لذلك لا يمكن القيام بذلك بسهولة بشكل متكرر. إجراء النسخ الاحتياطي القياسي لـ Discourse هو إنشاء نسخ احتياطية كاملة. إذا كنت تريد حقًا تقليل خطر فقدان البيانات، فأنت بحاجة إلى البحث عن خيارات أخرى.

قد يوفرها مزود الاستضافة الخاص بك أحد الخيارات: لقطات وحدات التخزين (volume snapshots). يوفر هذا طريقة لإنشاء نسخة “فورية” للبيانات المخزنة في وحدة تخزين. يتيح لك هذا استعادة وحدة التخزين إلى ذلك الوقت. قد تتوفر لقطات وحدات التخزين أيضًا داخل نظام التشغيل اعتمادًا على نظام الملفات المستخدم. (يدعم btrfs هذا على سبيل المثال.)

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

للحصول على نسخ احتياطية أكثر دقة للمرفقات، يمكنك استخدام أدوات نسخ احتياطي مختلفة تسمح بإدارة النسخ الاحتياطية الكاملة + التفاضلية. على سبيل المثال duplicity. أو يمكنك استخدام rsync (بدون حذف). بين اللقطات، لا يزال بإمكانك فقدان الملفات. سيكون استخدام S3 بدون حذف أكثر أمانًا لأن الملفات موجودة بالفعل على نظام آخر.

في الختام. آلية النسخ الاحتياطي القياسية لـ Discourse ليست مناسبة لجدول نسخ احتياطي أكثر تكرارًا. إذا كنت تريد المزيد من النسخ الاحتياطية، فاستخدم مزيجًا من ميزات النسخ الاحتياطي/التكرار القياسية لـ PostgreSQL، وS3، ولقطات وحدات التخزين، وما إلى ذلك.

على موقعي، لا أستخدم نظام النسخ الاحتياطي الخاص بـ Discourse للنسخ الاحتياطية العادية. لا يزال لدي نسخ احتياطية يومية، ولكني أستخدم مزيجًا من تكوينات pg_dumps وduplicity (يتم تنسيقها عبر backupninja).

3 إعجابات

أقوم بعمل نسخة احتياطية لقاعدة البيانات كل 4 ساعات. هذا هو الإطار الزمني الذي يمكنني التعايش معه مع المنشورات التي قد تختفي. للمقارنة: متجر التجارة الإلكترونية الخاص بي يقوم بعمل نسخ احتياطية كل 5 دقائق.

مرة واحدة في اليوم ليست كافية. قيمة فقدان المواضيع/المنشورات لمدة 24 ساعة كحد أقصى هي أكثر من اللازم.

إعجاب واحد (1)

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

إعجابَين (2)

قد تكون الخسارة الأكبر من المنشورات هي جميع الحسابات الجديدة التي تم إنشاؤها على مدار 24 ساعة.

خاصة إذا كان يتم استخدام Discourse كمزود لـ SSO لتطبيقاتك الأخرى أو عمليات التكامل الأخرى.

لا أعتقد أن إجابة “0 لليومي” هذه صحيحة:

Screenshot 2025-12-29 at 13.26.18

إعجاب واحد (1)

الصفر يعطل النسخ الاحتياطي. يحدد هذا الإعداد فقط عدد الأيام بين النسخ الاحتياطية.

يبدو أن النسخ الاحتياطي المتكرر المخصص لـ @Jagster هو الحل الأنسب الذي تحتاجه إذا لم يكن اليومي كافيًا.

نعم، كنت فقط أسلط الضوء على مدى خطأ الذكاء الاصطناعي في اقتراحاته للناس.

تخيل لو أن شخصًا رأى ذلك وقام بتطبيقه لأنه ما طُلب منه أن يفعله؟ :confused:

4 إعجابات

يبدو أنه تم استخراجه من https://meta.discourse.org/t/staging-test-server-ignored-the-environment-variable/390085/2?u=falco. سأقوم بتحديث المنشور لجعله أوضح.

5 إعجابات