أغلب النسخ تحمل الملفّات وقاعدة البيانات، ثم تفشل أغلب الاستعادات على شيء لم يكن فيها قطّ. والنسخة تامّة حين تُنتج استعادتها على خادم عارٍ موقعًا يعمل بلا شيء يُكتَب من الذاكرة.

الاثنان البديهيّان

  • ملفّات الموقع، ومنها المرفوعات — وهي غالبًا على قرص آخر فتفوت.
  • وقاعدة البيانات، تُنسَخ بأمر dump لا تُنقَل وهي تعمل.
mysqldump --single-transaction --quick --routines --triggers --events dbname | gzip > db.sql.gz

الراية ‎--single-transaction‎ تأخذ لقطةً متّسقة بلا إقفال للموقع. و‎--routines‎ و‎--triggers‎ و‎--events‎ تضمّ الأجزاء التي تتركها النسخة المجرّدة بصمت.

والأربعة التي تُنسى

  • البريد. على الخادم نفسه ولا يدخل نسخة الموقع أبدًا. وفقدُ خمس سنوات من البريد أسوأ من فقد الموقع.
  • والمهامّ المجدوَلة. ليست ملفّاتٍ في موقعك. نفّذ crontab -l واحفظ الناتج.
  • وإعدادات الخادم. كتلة Nginx، وتجمّع PHP، والشهادة. وإعادة بنائها من الذاكرة أبطأ جزء في أي استعادة.
  • وDNS. تصديرٌ للمنطقة. وإعادة بناء ثلاثين سجلًّا باليد والموقع متوقّف سيّئةٌ تمامًا بقدر ما تبدو.
crontab -l > cron.txt
cp -a /etc/nginx/sites-available/mysite .
cp -a /etc/php/8.3/fpm/pool.d/mysite.conf .

والاعتمادات

نسخةٌ مشفَّرة مفتاحُها لم يكن إلّا على الخادم الذي مات ليست نسخة. احفظ المفتاح في مكان آخر، واكتب أين.

والاختبار الذي يُثبتها

استعِد على خادم فارغ دون أن تفتح أي مستند آخر. وكل ما تضطرّ إلى البحث عنه في مكان آخر هو ما ينقص النسخة.

ونسخُ EGPHP التلقائية تغطّي الملفّات وقواعد البيانات والبريد، وEGPNL يستعيد أيًّا منها وحده. وهذه الصفحة قائمة تحقُّق لكل ما تنسخه أنت بنفسك.