أكثرُ ما يحتاجه الناس من استعادةٍ صغير: صفحةٌ حُرّرت خطأً، أو ملفٌّ حُذف، أو جدولٌ أفرغه تحديثٌ سيّئ. واستعادةُ الموقع كلِّه لإصلاح ذلك تُلقي بكلّ طلبٍ وتعليقٍ منذ النسخة — وتلك خسارةٌ أكبر من الخطأ الأصليّ في العادة.

ملفٌّ واحد من أرشيف

tar -tzf backup.tar.gz | grep wp-config
tar -xzf backup.tar.gz -C /tmp/restore path/inside/archive/wp-config.php

استخرج إلى /tmp أوّلًا، دائمًا. انظر إليه ثمّ انسخه إلى موضعه — فالاستخراجُ فوق الموقع مباشرةً هو ما يجعل استعادةً صغيرةً كبيرةً.

جدولٌ واحد من نسخة

sed -n '/-- Table structure for table `wp_posts`/,/-- Table structure for table `wp_postmeta`/p' backup.sql > wp_posts.sql
mysql -u user -p dbname < wp_posts.sql

النسخةُ نصٌّ صريح بترتيب الجداول، فالمدى بين ترويسة جدولٍ والتي تليها هو جدولٌ واحد بالضبط.

واستعادةُ جدولٍ تحذفه وتعيد إنشاءه. فكلُّ ما كُتب فيه منذ النسخة يذهب — فعلى جدولٍ ما زال يُكتَب فيه، استعد إلى نسخةٍ منه وانقل الصفوف التي تحتاجها.
mysql -u user -p dbname_restore < wp_posts.sql
# then
INSERT INTO dbname.wp_posts SELECT * FROM dbname_restore.wp_posts WHERE ID = 123;

اعرف ما في النسخة قبل أن تحتاجها

tar -tzf backup.tar.gz | head -30
grep -c "CREATE TABLE" backup.sql

دقيقتان الآن، مرّةً واحدة، توفّران ساعةً يوم يعطب شيء — ويومُ يعطب شيءٌ ليس يومَ اكتشافِ أنّ الرفوعات لم تُدرَج قطّ.

وعلى استضافة EGPHP يحفظ EGPNL نسخًا تلقائية ويستعيد ملفًّا واحدًا أو قاعدةً واحدة من اللوحة، فلا يلزم شيءٌ ممّا سبق إلّا أن تدير الخادم بنفسك.