سيرفر مخصص: النسخ الاحتياطي لسيرفرات Linux باستخدام Rsync
المنتجات المثالية لهذا الدليل
ابدأ على الفور — اطلب المنتج المناسب واتبع هذا الدليل خطوة بخطوة.
مقدمة
يمكن عمل نسخ احتياطية باستخدام أداة Rsync. يمكن نسخها على النظام المحلي نفسه إلى مجلد/قرص آخر أو إلى نظام بعيد.
نسخ البيانات إلى مجلد أو قرص محلي آخر:
تنبيه: التشغيل الأول قد يستغرق وقتًا أطول بكثير من التشغيلات التالية، حسب كمية البيانات. هذا لأن Rsync في المرة الأولى يزامن كل البيانات، ومن المرة الثانية فصاعدًا يتم مزامنة البيانات التي تغيرت فقط.
إذًا يتم إنشاء نسخة احتياطية تزايدية.
الخطوة 1
يمكن تثبيت Rsync بالأمر التالي:
apt install rsync
بعد التثبيت، يمكن استخدامه مباشرة.
- نسخ احتياطي يومي إلى مجلد/قرص محلي
- نسخ احتياطي يومي إلى نظام بعيد
الخطوة 2
في هذا المثال، مجلد Client تحت /home يجب مزامنته مع مجلد Backup تحت /home.
يمكن تنفيذ ذلك بالأمر التالي:
rsync -arz /home/Client /home/Backup
-a=أرشفة، سيتم نسخ الخصائص
-r=تكراري، يتم مزامنة المجلدات الفرعية أيضًا
-z=ضغط، يتم ضغط البيانات حسب الكمية/الحجم
تمت مزامنة المجلد بنجاح
إذا تم حذف ملف مثلاً في مجلد client الآن، سيبقى في مجلد النسخ الاحتياطي.
لكن بما أن الملفات يجب أن تكون متزامنة 1:1 دائمًا، يمكن تعديل أمر rsync بسهولة ليضمن حذف البيانات التي لم تعد موجودة في مجلد client من مجلد النسخ الاحتياطي أيضًا.
الأمر المعدل هو:
rsync -arz --delete /home/Client /home/Backup
-a=أرشفة، سيتم نسخ الخصائص
-r=تكراري، يتم مزامنة المجلدات الفرعية أيضًا
-z=ضغط، يتم ضغط البيانات حسب الكمية/الحجم
--delete= يحذف البيانات التي لم تعد موجودة في المصدر لكنها لا تزال موجودة في الهدف
الخطوة 3
لكي لا تضطر لتنفيذ الأمر يدويًا دائمًا، يمكن وضعه ببساطة في مهمة cron.
مثلاً، لإنشاء نسخة احتياطية يوميًا الساعة 3 صباحًا:
افتح crontab -e:
بالرقم 1 يمكن استخدام "nano" كمحرر. وبالرقم 2 يمكن استخدام "vim" كمحرر.
بعد فتح الملف باستخدام nano مثلاً، يمكن إنشاء وإدخال crontab.
يمكن إنشاء crontab باستخدام هذا المولد.
يبدو crontab المدخل كالتالي:
0 3 * * * rsync --progress -arz --delete -e "ssh -i /home/sshkey/keybackup" /home/Client/ root@123.123.123.123:/home/Backup/Home-Server1/ >/dev/null 2>&1
يتم تنفيذ الأمر يوميًا الساعة 3 صباحًا ويتم إنشاء النسخة الاحتياطية.
الخطوة 4
في هذا المثال، مجلد Client تحت /home يجب مزامنته مع مجلد Backup على نظام بعيد. الاتصال سيتم عبر مفتاح SSH، بحيث يمكن أتمتة النسخ الاحتياطي.
مهم: يجب أن يكون Rsync مثبتًا أيضًا على السيرفر البعيد.
apt install rsync
مثلاً، يمكن استخدام الأمر التالي لنسخ البيانات إلى المضيف البعيد (يحتاج تعديل):
rsync --progress -arz -e "ssh -i /home/sshkey/keybackup" /home/Client/ root@123.123.123.123:/home/Backup/Home-Server1/
-a=أرشفة، سيتم نسخ الخصائص
-r=تكراري، يتم مزامنة المجلدات الفرعية أيضًا
-z=ضغط، يتم ضغط البيانات حسب الكمية/الحجم
-e=تحديد منفذ SSH (الافتراضي 22)
تحديد مفتاح SSH (المسار)("ssh -i /home/sshkey/keybackup")= ssh -i /[مسار المفتاح]
تحديد المجلد المراد نسخه (/home/client/)= /[المجلد]
المضيف البعيد(root@123.123.123.123:)= اسم المستخدم على المضيف البعيد والعنوان: اسم@IP/نطاق
مجلد الهدف للبيانات على المضيف البعيد(:/home/Backup/Home-Server1/)= :/[مسار المجلد]
تمت مزامنة/حفظ المجلد/الملفات بنجاح إلى المجلد البعيد بعد تنفيذ الأمر.
إذا تم حذف ملف مثلاً في مجلد client، سيبقى في مجلد النسخ الاحتياطي على المضيف البعيد.
لكن بما أن الملفات يجب أن تكون متزامنة 1:1 دائمًا، يمكن تعديل أمر rsync بسهولة ليحذف البيانات التي لم تعد موجودة في مجلد client من مجلد النسخ الاحتياطي على المضيف البعيد.
الأمر المعدل هو:
rsync --progress -arz --delete -e "ssh -i /home/sshkey/keybackup" /home/Client/ root@123.123.123.123:/home/Backup/Home-Server1/
-a=أرشفة، سيتم نسخ الخصائص
-r=تكراري، يتم مزامنة المجلدات الفرعية أيضًا
-z=ضغط، يتم ضغط البيانات حسب الكمية/الحجم
--delete= يحذف البيانات التي لم تعد موجودة في المصدر لكنها لا تزال موجودة في الهدف
-e=تحديد منفذ SSH (الافتراضي 22)
تحديد مفتاح SSH (المسار)("ssh -i /home/sshkey/keybackup")= ssh -i /[مسار المفتاح]
تحديد المجلد المراد نسخه (/home/client/)= /[المجلد]
المضيف البعيد(root@123.123.123.123:)= اسم المستخدم على المضيف البعيد والعنوان: اسم@IP/نطاق
مجلد الهدف للبيانات على المضيف البعيد(:/home/Backup/Home-Server1/)= :/[مسار مجلد الهدف]
الخطوة 5
لكي لا تضطر لتنفيذ الأمر يدويًا دائمًا، يمكن وضعه ببساطة في مهمة cron.
مثلاً، لإنشاء نسخة احتياطية يوميًا الساعة 3 صباحًا:
افتح crontab -e:
بالرقم 1 يمكن استخدام "nano" كمحرر. وبالرقم 2 يمكن استخدام "vim" كمحرر.
بعد فتح الملف باستخدام nano مثلاً، يمكن إنشاء وإدخال crontab.
يمكن إنشاء crontab باستخدام هذا المولد.
يبدو crontab المدخل كالتالي:
0 3 * * * rsync --progress -arz --delete -e "ssh -i /home/sshkey/keybackup" /home/Client/ root@123.123.123.123:/home/Backup/Home-Server1/ >/dev/null 2>&1
يتم تنفيذ الأمر يوميًا الساعة 3 صباحًا ويتم إنشاء النسخة الاحتياطية.