كيفية النسخ الاحتياطي لخادم VPS (اللقطات مقابل نسخ الملفات)

القراءة المقدرة:2دقائق

Summary: النسخ الاحتياطي هو أهم ما يمكن إعداده على خادم VPS — وهو أيضًا الأكثر إهمالًا حتى يحدث عطل. يغطي هذا الدليل الاستراتيجيات الثلاث للنسخ الاحتياطي لخادم

النسخ الاحتياطي هو أهم ما يمكن إعداده على خادم VPS — وهو أيضًا الأكثر إهمالًا حتى يحدث عطل. يغطي هذا الدليل الاستراتيجيات الثلاث للنسخ الاحتياطي لخادم VeerHost VPS: لقطات VeerHost، والنسخ اليدوي للملفات، والنسخ اليومي الآلي باستخدام cron.

الطريقة 1: لقطات (Snapshots) لوحة تحكم VeerHost

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

  • سجّل الدخول إلى منطقة عميل VeerHost
  • انتقل إلى Services > My VPS
  • انقر على Snapshots وأنشئ لقطة جديدة
  • للاستعادة، حدّد اللقطة وانقر على Restore

الأنسب لـ: قبل التغييرات الكبيرة (تحديثات نظام التشغيل وتثبيت برامج جديدة وتغييرات التكوين). خذ لقطة دائمًا قبل أي أمر محفوف بالمخاطر.

الطريقة 2: نسخ احتياطي يدوي للملفات باستخدام tar

أنشئ أرشيفًا مضغوطًا لملفات موقعك أو أي دليل:

# Backup a website directory
tar -czvf /root/backup-$(date +%Y-%m-%d).tar.gz /var/www/yourdomain.com

اعرض محتويات النسخة الاحتياطية للتحقق منها:

tar -tzvf /root/backup-2026-03-31.tar.gz | head -20

استعد من النسخة الاحتياطية:

tar -xzvf /root/backup-2026-03-31.tar.gz -C /

الطريقة 3: نسخ احتياطي لقاعدة بيانات MySQL

انسخ قواعد البيانات احتياطيًا دائمًا بشكل منفصل عن الملفات. لا تتضمن النسخ الاحتياطية للملفات بيانات MySQL.

نسخ قاعدة بيانات واحدة:

mysqldump -u root -p mywebsite > /root/mywebsite-$(date +%Y-%m-%d).sql

نسخ جميع قواعد البيانات:

mysqldump -u root -p --all-databases > /root/all-databases-$(date +%Y-%m-%d).sql

استعادة قاعدة بيانات:

mysql -u root -p mywebsite < /root/mywebsite-2026-03-31.sql

الطريقة 4: نزّل النسخة الاحتياطية إلى جهازك المحلي

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

# Run this on your LOCAL machine (not the server)
scp root@YOUR_VPS_IP:/root/backup-2026-03-31.tar.gz ~/Downloads/

أو استخدم rsync للنسخ الاحتياطي التصاعدي (ينسخ الملفات التي تغيّرت فقط):

rsync -avz root@YOUR_VPS_IP:/var/www/ ~/vps-backups/www/

الطريقة 5: نسخ احتياطي يومي آلي باستخدام Cron

أنشئ سكربت نسخ احتياطي وجدول تشغيله تلقائيًا كل ليلة:

nano /root/backup.sh

الصق هذا السكربت:

#!/bin/bash
DATE=$(date +%Y-%m-%d)
BACKUP_DIR=/root/backups

mkdir -p $BACKUP_DIR

# Backup website files
tar -czvf $BACKUP_DIR/www-$DATE.tar.gz /var/www/

# Backup MySQL databases
mysqldump -u root -pYOUR_MYSQL_PASSWORD --all-databases > $BACKUP_DIR/mysql-$DATE.sql

# Delete backups older than 7 days
find $BACKUP_DIR -name "*.tar.gz" -mtime +7 -delete
find $BACKUP_DIR -name "*.sql" -mtime +7 -delete

echo "Backup completed: $DATE"

اجعله قابلًا للتنفيذ واختبره:

chmod +x /root/backup.sh
/root/backup.sh

جدول تشغيله يوميًا في الساعة 2 صباحًا عبر cron:

crontab -e

أضف هذا السطر في الأسفل:

0 2 * * * /root/backup.sh >> /root/backup.log 2>&1

اللقطات مقابل النسخ الاحتياطي للملفات: أيهما تستخدم؟

اللقطاتالنسخ الاحتياطي للملفات
ما تتضمنهاالقرص بالكامل (النظام + الملفات + قاعدة البيانات)فقط ما تحدّده
سرعة الإنشاءسريعة (دقائق)تعتمد على الحجم
سرعة الاستعادةسريعة (استعادة كاملة)استعادة يدوية
نسخة خارج الخادمتُحفظ لدى VeerHostعليك تنزيلها بنفسك
الأنسب لـقبل التغييرات المحفوفة بالمخاطرنسخ احتياطية يومية آلية
Launchpad