
تلقينا ذات صباح اتصالًا من صاحب متجر إلكتروني صغير: الموقع يعرض صفحة فارغة، ولوحة التحكم لا تفتح. بعد الفحص تبيّن أن السيرفر تعرض لاختراق، وأن قاعدة البيانات مُسحت. سألناه عن النسخ الاحتياطي، فقال إن شركة الاستضافة تتكفل بذلك. وعندما تواصلنا مع شركة الاستضافة اكتشفنا أن خطته الرخيصة لا تشمل النسخ الاحتياطي أصلًا، أو تشمل نسخة أسبوعية تُحفظ على السيرفر نفسه الذي اختُرق. ضاعت طلبات شهور، وبيانات العملاء، وسجل المبيعات.
هذه القصة ليست نادرة. والسبب أن النسخ الاحتياطي من الأشياء التي يفترض الجميع أن غيرهم يقوم بها.
الملفات شيء وقاعدة البيانات شيء آخر
الموقع يتكون غالبًا من جزأين. الملفات: الكود، والصور، والمرفقات. وقاعدة البيانات: الطلبات، والعملاء، والمنتجات، والمحتوى، والإعدادات. الملفات تتغير قليلًا، وكثير منها محفوظ أصلًا لدى المبرمج. أما قاعدة البيانات فتتغير كل دقيقة، وهي الجزء الذي لا يمكن تعويضه. لذلك قاعدة البيانات تحتاج إلى نسخ أكثر تكرارًا، يوميًا على الأقل، وفي المتاجر النشطة كل بضع ساعات.
نسخ ملف قاعدة البيانات أثناء العمل خطأ شائع
من الأخطاء التي نراها نسخ مجلد ملفات قاعدة البيانات مباشرة أثناء عملها، كأنها ملفات عادية. النتيجة غالبًا نسخة تالفة لا تعمل عند الاسترجاع، لأن قاعدة البيانات كانت في منتصف الكتابة. الطريقة الصحيحة استخدام أدوات التصدير الخاصة بقاعدة البيانات، التي تأخذ صورة متسقة لها في لحظة واحدة، أو استخدام خاصية اللقطات في الأنظمة التي تدعمها.
أين تُحفظ النسخة؟
القاعدة الذهبية: النسخة يجب ألا تكون على السيرفر نفسه فقط. إذا تعطل قرص السيرفر، أو اختُرق، أو أوقف المزود الحساب لسبب ما، فإن النسخة المحفوظة عليه تضيع معه. لذلك نرسل النسخ تلقائيًا إلى تخزين منفصل لدى مزود آخر، ونحتفظ بعدة أجيال منها: نسخ يومية لأسبوعين، وأسبوعية لشهرين، وشهرية لعام مثلًا. هذا التدرج يسمح بالرجوع إلى ما قبل مشكلة لم تُكتشف إلا بعد أسابيع.
والأفضل أن يكون التخزين البعيد بخاصية تمنع الحذف أو التعديل لفترة محددة، بحيث لا يستطيع حتى من اخترق السيرفر وحصل على بيانات الدخول أن يمسح النسخ القديمة.
التشفير
نسخة قاعدة البيانات تحتوي على بيانات العملاء: أسماؤهم، وأرقامهم، وعناوينهم، وربما معلومات حساسة أخرى. إذا سُرقت النسخة فكأن قاعدة البيانات نفسها سُرقت. لذلك تُشفَّر النسخ قبل إرسالها، ويُحفظ مفتاح التشفير في مكان آمن ومنفصل. ومن المهم ألا يضيع هذا المفتاح، لأن النسخة المشفرة بلا مفتاح لا قيمة لها.
اختبار الاسترجاع
النسخة التي لم تُجرَّب ليست نسخة، بل أمل. نجري اختبار استرجاع دوريًا: نأخذ نسخة حديثة، ونسترجعها على سيرفر تجريبي، ونتأكد أن الموقع يعمل وأن البيانات كاملة. هذا الاختبار يكشف المشكلات قبل يوم الحاجة: نسخة ناقصة، أو مفتاح ضائع، أو خطوات استرجاع لا يعرفها أحد. ونسجل الوقت الذي يستغرقه الاسترجاع، حتى تعرف الإدارة كم سيتوقف الموقع في أسوأ الأحوال.
ماذا عن نسخ شركة الاستضافة؟
إذا كانت شركة الاستضافة تقدم نسخًا احتياطية فهذا جيد، لكن اعتبرها طبقة إضافية لا الأساس. اسأل أسئلة محددة: كم مرة تُؤخذ النسخة؟ أين تُحفظ؟ كم تُحفظ من الأيام؟ كيف أسترجعها، وكم يستغرق ذلك؟ وهل يمكن أن أحصل على نسخة لأحفظها عندي؟ إن لم تكن الإجابات واضحة، فأنت تحتاج إلى نسخك الخاص.
ما الذي نجهزه لعملائنا؟
- نسخ آلي لقاعدة البيانات بالتكرار المناسب لطبيعة الموقع.
- نسخ للملفات المرفوعة مثل الصور والمرفقات.
- تشفير قبل الإرسال، وحفظ في تخزين منفصل بحماية من الحذف.
- تنبيه فوري إذا فشلت نسخة أو لم تتم في موعدها.
- اختبار استرجاع دوري مع تقرير مكتوب.
- دليل استرجاع مكتوب خطوة بخطوة.
الأمر نفسه للأنظمة الداخلية
كل ما قيل ينطبق على برنامج المحاسبة أو نظام المخازن الذي يعمل على سيرفر داخل الشركة. فقاعدة بيانات المحاسبة لعشر سنوات أثمن من أي جهاز في المكتب. وقد تحدثنا عن ذلك في مقال قاعدة 3-2-1.
أسئلة شائعة
هل النسخ المتكرر يبطئ الموقع؟
عند ضبطه بشكل صحيح وتوقيته في أوقات الحركة المنخفضة، لا يلاحظ الزوار أي فرق.
كم تكلف مساحة التخزين البعيد؟
بالنسبة لمعظم المواقع والمتاجر الصغيرة والمتوسطة، تكلفة التخزين الشهرية زهيدة مقارنة بقيمة البيانات المحمية.
هل أنت متأكد أنك تستطيع استرجاع موقعك غدًا إذا ضاع اليوم؟ إن لم تكن متأكدًا، تواصل معنا أو اطّلع على خدمة السيرفرات و DevOps.


