كيفية احتراف استخدام أوامر أداة rsync للمزامنة في نظام Linux

كما يوحي اسمها ، أداة rsync هي أداة المزامنة. في المرة الأولى التي تستخدمها ، تقوم ببساطة بنسخ الملفات والدلائل من موقع إلى آخر. ومع ذلك ، الاستخدامات اللاحقة، ومع ذلك ، تقوم فقط بمزامنة الاختلافات بين هذه المواقع.. لذلك ، إذا قمت بإضافة ملف واحد إلى الدليل المصدر ، فسوف يقوم rsync بنسخ الملف الجديد فقط إلى الوجهة. هذا يوفر الكثير من الوقت والنطاق الترددي ، خاصة عند النسخ إلى موقع بعيد.

كيفية احتراف استخدام أوامر أداة rsync للمزامنة في نظام Linux - لينكس

تخيل أن لديك 50 غيغابايت من البيانات يجب عليك مزامنتها مع خادم بعيد. يمكنك جدولة rsync للتشغيل يوميا. بدلاً من الاضطرار إلى نسخ 50 جيجابايت بالكامل مراراً وتكراراً ، ستقوم الأداة بإرسال الاختلافات فقط. قد يعني هذا أنه يجب تحميل بضع ميغابايت من البيانات كل يوم ، بدلاً من الجيجابايت.

في الصورة الموضحة أعلاه ، يمكنك أن ترى كيف تم نقل 104 ميغابايت في المرة الأولى ، بينما خلال الاستخدام الثاني البيانات التي كانت مطلوبة هي فقط 31KB.

كيفية تثبيت rsync على توزيعات Linux المختلفة

على توزيعات Debian والتوزيعات المستندة على Debian، مثل Ubuntu ، يمكنك تثبيت rsync مع:

sudo apt install rsync
كيفية احتراف استخدام أوامر أداة rsync للمزامنة في نظام Linux - لينكس

على Fedora، قم بتثبيتها مع:

dnf install rsync

وعلى التوزيعات المشتقة من RedHat (على سبيل المثال ، CentOS):

yum install rsync

لتثبيت rsync على Arch Linux ، استخدم الأمر:

pacman -S rsync

على openSUSE ، استخدم:

zypper install rsync

إذا لم تكن الأداة مدرجة في مستودعاتك الافتراضية ، فاستشر صفحة تثبيت openSUSE rsync.

كيفية استخدام rsync لمزامنة الملفات المحلية أو الدلائل

الصيغة العامة لـ rsync هي: rsync [options] /path/to/source /path/to/destination.

[options] تعني خيارات سطر الأوامر التي يمكنك العثور عليها في الدليل:

man rsync
كيفية احتراف استخدام أوامر أداة rsync للمزامنة في نظام Linux - لينكس

اضغط q لإنهاء الدليل.

لنسخ ملف:

rsync /bin/ls .

الأمر أعلاه يعادل rsync /bin/ls /home/your_username. هذا ينسخ الأمر “ls” إلى الدليل الذي أنت فيه حاليًا. بشكل افتراضي ، والذي يجب أن يكون هذا /home/your_username. النقطة من أجل أن تقف عند الدليل الحالي. يمكن أن تكون Pathnames مطلقة (/home/your_username/Downloads/chrome.zip) أو متعلقة بالدليل الحالي الخاص بك (Downloads/chrome.zip).

عندما تتعامل مع ملفات كبيرة جدًا ، يمكنك استخدام هذا الأمر:

rsync -P /path/to/file /path/to/destination

سيظهر هذا التقدم ويسمح لك باستئناف النقل المتقطع. في حال كنت بحاجة إلى استئناف ، استخدم:

rsync -P --append path/to/file /path/to/destination

بدون --append ، تتم عملية النقل من البداية.

لمزامنة الدلائل:

rsync -av /path/to/source /path/to/destination

مثال على الأمر:

rsync -av /bin .

تأثير Trailing Slash على rsync (هام)

في ملاحظة الأمر السابق ، لا يحتوي المسار إلى الدليل المصدر على slash / (/bin vs /bin/). بدون slash ، يقوم rsync بنسخ الدليل نفسه. لذا rsync -av /bin. يؤدي إلى ما هو مبين في الصورة التالية.

كيفية احتراف استخدام أوامر أداة rsync للمزامنة في نظام Linux - لينكس

عند استخدام slash  ، يقوم rsync بنسخ المحتويات الموجودة في هذا الدليل. في هذه الحالة ، سيتم تشتيت كل ملف في / bin في الدليل الوجهة. لذا rsync -av / bin /. سيؤدي إلى ما هو مبين في الصورة التالية.

كيفية احتراف استخدام أوامر أداة rsync للمزامنة في نظام Linux - لينكس

من المهم جدًا تذكر هذا الاختلاف ، نظرًا لأن استخدام TAB لإكمال أسماء الدلائل تلقائيًا يضيف slash في النهاية. لذا ضع ذلك في الاعتبار لتجنب حدوث فوضى في الدليل الوجهة.

كيفية استخدام rsync للتزامن مع المواقع عن بعد (على سبيل المثال ، الخوادم)

ما تم وصفه في القسم السابق صحيح عند التعامل مع المواقع البعيدة. والفرق الوحيد هو أنه يجب عليك إدخال اسم مستخدم تسجيل الدخول وعنوان الموقع البعيد بشكل مسبق. لإرسال دليل /bin إلى كمبيوتر بعيد ، استخدم:

rsync -av /bin your_username@203.0.113.10:/home/your_username

يربط rsync من خلال OpenSSH. هذا يعني أنه عليك إعداد ملقم OpenSSH وبيانات اعتماد تسجيل الدخول على الوجهة البعيدة مسبقًا. لاحظ أن your_username يشير إلى اسم المستخدم الذي تم إنشاؤه على الخادم. قد يكون هذا مختلفًا عن اسم المستخدم الموجود على جهازك المحلي.

إذا كنت تملك اسم نطاق وتوجهه إلى عنوان IP الخاص بالخادم ، فيمكنك استخدام النطاق في الأمر:

rsync -av /bin your_username@example.com:/home/your_username

عند عمليات النقل الكبيرة ، من المفيد أيضًا ضغط البيانات قبل إرسالها عبر wire عن طريق إضافة المعلمة -z:

rsync -avz /bin your_username@example.com:/home/your_username

يمكنك حذف معلمة الضغط عند إرسال ملفات مضغوطة بالفعل (ملفات صوتية مثل MP3 ومقاطع الفيديو وصور JPEG). لا يمكن ضغطها بشكل أكبر ، لذا ستضيع الوقت بالفعل باستخدام -z على هذه.

لنسخ الملفات من الوجهة البعيدة إلى جهاز الكمبيوتر المحلي ، ما عليك سوى عكس المواقع:

rsync -avz your_username@example.com:/bin /home/your_username

الخلاصة

يغطي هذا أهم أوامر rsync التي تحتاج إلى معرفتها. إذا احتجت في أي وقت إلى مزيد من التحكم في كيفية مزامنة الدلائل ، فاستشر دليل rsync على الإنترنت وقم بالتمرير داخل بعض الصفحات لأسفل حتى تجد “ملخص الخيارات”.

زر الذهاب إلى الأعلى