15 أمثلة على Rsync

15 Amthlt Ly Rsync



يعد نقل الملفات من موقع إلى موقع آخر مهمة شائعة جدًا لمستخدم Linux. تتوفر العديد من الخيارات في Linux للقيام بهذه المهمة ؛ 'rsync' هو واحد منهم. الشكل الكامل لـ 'rsync' هو 'Remote Sync'. إنها أداة مزامنة مفيدة للغاية لنسخ الملفات والمجلدات من نظام إلى نظام آخر محليًا أو عن بُعد. لديها العديد من الفوائد من أدوات المزامنة الأخرى. يتم تثبيت هذه الأداة في Linux افتراضيًا. لذلك ، لا يطلب المستخدم تثبيته. يتم عرض مزايا واستخدامات الأمر 'rsync' في هذا البرنامج التعليمي باستخدام 15 مثالًا بسيطًا.

مزايا الأمر 'Rsync'

  1. إنه أسرع من الأدوات الأخرى لأنه ينسخ فقط تلك الملفات من الموقع المصدر إلى الموقع الوجهة التي تم تعديلها أو غير موجودة في موقع الوجهة.
  2. يدعم النقل غير المكتمل.
  3. يتطلب عرض نطاق أقل لأنه يضغط البيانات أثناء الإرسال.
  4. يقلل من عبء الإرسال لأنه يمكن نقل البيانات الأقل أهمية بدون تشفير.

بناء الجملة

يرد بناء جملة الأمر 'rsync' في الآتي:

rsync [خيار] وجهة المصدر

هنا ، يمكن أن تكون مسارات المصدر والوجهة محلية أو بعيدة. يمكن استخدام أنواع مختلفة من الخيارات مع هذا الأمر لأغراض مختلفة.







خيارات مفيدة لأمر 'Rsync'

يتم شرح بعض خيارات الأمر 'rsync' شائعة الاستخدام في ما يلي:



خيار غاية
-مع يتم استخدامه لضغط البيانات أثناء النقل.
-r يتم استخدامه لمزامنة البيانات بشكل متكرر دون الاحتفاظ بأي إذن ملف.
يتم استخدامه لمزامنة البيانات بشكل متكرر عن طريق الاحتفاظ بجميع أذونات الملف.
يتم استخدامه للاحتفاظ بنسخة احتياطية من البيانات أثناء الإرسال.
-في يتم استخدامه لعرض الإخراج بتنسيق مطوّل.
-p يتم استخدامه لعرض تقدم النقل.
يتم استخدامه للتحقق مما إذا كانت المزامنة تعمل أم لا قبل نقل الملفات أو المجلدات.

قائمة بـ 15 مثالاً من 'Rsync'

  1. نقل ملف واحد ومجلد محليًا
  2. نقل ملفات ومجلدات متعددة محليًا
  3. نقل ملف واحد ومجلد عن بعد
  4. نقل ملفات ومجلدات متعددة عن بعد
  5. عرض تقدم النقل
  6. ضغط البيانات أثناء النقل
  7. نقل مع حد النطاق الترددي
  8. انقل الملفات والمجلدات بشكل متكرر
  9. التحويل مع الحد الأدنى للحجم
  10. التحويل مع الحد الأقصى للحجم
  11. نقل الملفات من نوع معين
  12. اعرض الاختلافات بين ملفات المصدر والوجهة
  13. قم بتضمين أو استبعاد الملفات أثناء النقل
  14. مزامنة البيانات في الوضع الجاف
  15. احذف الملفات والمجلدات المصدر بعد النقل

نقل ملف واحد ومجلد محليًا

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



ليرة سورية
موظفون $ rsync.txt موظفين_copy.txt
ليرة سورية

يوضح الإخراج التالي أنه تم نقل ملف 'الموظف. txt' بنجاح:





لنفترض أن محتوى مجلد temp يحتاج إلى النقل إلى مجلد tempdir حيث يوجد ملف “course.txt” في كلا المجلدين. قم بتشغيل الأمر 'ls temp' للتحقق من محتوى مجلد temp. بعد ذلك ، قم بتشغيل الأمر 'cat temp / course.txt' للتحقق من محتوى هذا الملف. بعد ذلك ، قم بتشغيل الأمر “ls tempdir” للتحقق من محتوى مجلد tempdir. بعد ذلك ، قم بتشغيل الأمر 'cat tempdir / course.txt' للتحقق من محتوى هذا الملف.



ليرة سورية درجة الحرارة
$ cat temp / course.txt
$ lstempdir
$ cat tempdir / course.txt

يُظهر الإخراج أن محتوى ملف 'course.txt' للمجلدين temp و tempdir مختلف قليلاً وأن ملف 'course.txt' للمجلد temp يحتوي على بيانات أكثر من ملف 'course.txt' لمجلد tempdir .

قم بتشغيل الأمر التالي لنقل محتوى مجلد temp إلى مجلد tempdir وتحقق من محتوى ملف 'course.txt' لمجلد tempdir للتأكد من تحديث الملف بشكل صحيح أم لا:

$ rsync -a temp / tempdir /
$ lstempdir
$ cat tempdir / course.txt

يوضح الإخراج التالي أن محتوى مجلد temp يتم نقله بشكل صحيح إلى مجلد tempdir ويتم تحديث محتوى ملف 'course.txt' لمجلد tempdir بشكل صحيح:

نقل ملفات ومجلدات متعددة محليًا

يمكن استخدام الأمر 'rsync' لنقل ملفات ومجلدات متعددة محليًا. قم بتشغيل الأمر التالي لنقل ملفات 'ping1.bash' و 'ping2.bash' إلى مجلد tempdir وتحقق من محتوى مجلد tempdir بعد النقل. يُستخدم الخيار -v مع الأمر 'rsync' لعرض الإخراج بتنسيق مطوّل:

$ rsync -v ping1.bash ping2.bash tempdir /
$ lstempdir

يوضح الإخراج التالي أنه يتم نقل ملفات متعددة بشكل صحيح إلى مجلد tempdir:

قم بتشغيل الأوامر التالية للتحقق من محتوى مجلدات temp و tempdir والاختبار ونقل محتوى مجلدي test و tempdir إلى مجلد temp:

ليرة سورية درجة الحرارة
$ lstempdir
اختبار $ ls
اختبار $ rsync -av / tempdir / temp /
ليرة سورية درجة الحرارة

يوضح الإخراج أنه تم نقل محتوى مجلدي الاختبار و tempdir بنجاح إلى مجلد temp. تتم إضافة ملفات 'customers.csv' و 'ping1.bash' و 'ping2.bash' كملفات جديدة إلى مجلد temp:

نقل ملف واحد ومجلد عن بعد

يجب عليك تثبيت خادم SSH وتكوينه في الموقع البعيد لنقل الملفات والمجلدات عن بُعد. يمكنك التحقق من هذا درس تعليمي لتكوين خادم SSH.

قم بتشغيل الأمر التالي للتحقق من حجم ملف “course.txt” الخاص بالموقع الحالي:

ls -la دورات.txt

يوضح الناتج أن حجم ملف 'course.txt' هو 65 بايت:

قم بتشغيل الأمر التالي لنقل ملف “course.txt” إلى ملف / الرئيسية / أوبونتو / الدورات / مجلد الموقع البعيد ، ubuntu@192.168.0.101. يجب عليك توفير كلمة مرور الجذر للجهاز البعيد قبل نقل الملف:

rsync -v course.txt ubuntu@192.168.0.101: / home / ubuntu / course /

يُظهر الإخراج التالي أن ملف 'course.txt' قد تم نقله إلى الآلة البعيدة بشكل صحيح وأن حجم الملف 65 بايت:

قم بتشغيل الأمر التالي لنقل مجلد temp إلى ملف / الرئيسية / أوبونتو / الدورات / مجلد الموقع البعيد ، ubuntu@192.168.0.101. يجب عليك توفير كلمة مرور الجذر للجهاز البعيد قبل نقل الملف مثل الأمر السابق.

rsync -av temp / ubuntu@192.168.0.101: / home / ubuntu / دورات /

يوضح الإخراج التالي أن محتوى مجلد temp يتم نقله إلى الجهاز البعيد بشكل صحيح:

نقل ملفات ومجلدات متعددة عن بعد

يقوم الأمر 'rsync' التالي بنقل ملفات 'customers.csv' و 'department.json' إلى ملف / home / Ubuntu / files / مجلد الموقع البعيد ، ubuntu@192.168.0.101.

rsync -av customers.csv department.json ubuntu@192.168.0.101: / home / ubuntu / files /

يوضح الإخراج التالي أنه تم نقل ملفات متعددة بنجاح إلى الموقع البعيد:

ينقل الأمر 'rsync' التالي محتوى مجلدي المؤقت والاختبار وملف 'department.json' إلى / home / Ubuntu / files / مجلد الموقع البعيد ، ubuntu@192.168.0.101.

rsync -av temp / test / department.json ubuntu@192.168.0.101: / home / ubuntu / files /

يوضح الإخراج التالي أنه تم نقل محتوى المجلدات المتعددة بنجاح إلى الموقع البعيد:

عرض تقدم النقل

قم بتشغيل الأمر 'rsync' باستخدام الخيار –progress لنقل محتوى مجلد tempdir إلى مجلد temp_copy مع معلومات التقدم.

rsync -a tempdir / temp_copy - التقدم

يوضح الإخراج التالي أنه تم إنشاء دليل temp_copy محليًا ونقل محتوى مجلد tempdir بنجاح إلى مجلد temp_copy:

ضغط البيانات أثناء النقل

قم بتشغيل الأمر 'rsync' التالي باستخدام الخيار –z لضغط ونقل دليل tempdir إلى دليل الاختبار محليًا:

rsync -za tempdir / اختبار /

يوضح الإخراج التالي أنه تم نقل الدليل المضغوط بنجاح محليًا:

نقل مع حد النطاق الترددي

قم بتشغيل الأمر 'rsync' التالي باستخدام الخيار –bwlimit بقيمة 100 لنقل ملف / etc / passwd إلى مجلد temp محليًا:

rsync -v --bwlimit = 100 etc / passwd temp /

يوضح الإخراج التالي أنه تم نقل ملف passwd بنجاح:

انقل الملف والمجلد بشكل متكرر

قم بتشغيل الأمر 'rsync' التالي باستخدام الخيار –rv لنقل مجلد الاختبار إلى مجلد test_bak محليًا:

اختبار rsync -rv / test_bak /

يوضح الإخراج التالي أنه تم نقل مجلد الاختبار بنجاح إلى مجلد test_bak:

التحويل مع الحد الأدنى للحجم

يمكن تقييد نقل الملفات والمجلدات باستخدام الأمر 'rsync' باستخدام الخيار –min-size لتعيين الحد الأدنى لحجم نقل الملفات والمجلدات. قم بتشغيل الأمر التالي 'ls -la tempdir' للتحقق من حجم كل ملف ومجلد من هذا المجلد. بعد ذلك ، قم بتشغيل الأمر 'rsync' لنقل محتوى مجلد tempdir إلى مجلد tempdir_bak مع الحد الأدنى للحجم.

ls -لا تيمبدير
rsync -av --min-size = '245B' tempdir / tempdir_bak

يوضح الإخراج التالي وجود ملفين في مجلد tempdir يطابق الحد الأدنى للحجم. وهما 'ping1.bash' (248 بايت) و 'test.txt' (34504 بايت). يتم نقل هذه الملفات إلى مجلد tempdir_bak ويتم حذف الملفات الأخرى لمجلد tempdir:

التحويل مع الحد الأقصى للحجم

يمكن تقييد نقل الملفات والمجلدات باستخدام الأمر 'rsync' باستخدام الخيار –max-size لتعيين الحد الأقصى لحجم الملفات والمجلدات التي يتم نقلها. قم بتشغيل الأمر التالي 'ls -la temp' للتحقق من حجم كل ملف ومجلد من هذا المجلد. بعد ذلك ، قم بتشغيل الأمر 'rsync' لنقل محتوى مجلد temp إلى مجلد temp_bak مع الحد الأقصى للحجم.

ls -la temp. ليرة لبنانية - درجة الحرارة
rsync - الحجم الأقصى = '250B' temp / temp_bak /

يوضح الإخراج التالي وجود أربعة ملفات في المجلد المؤقت الذي يتطابق مع الحد الأقصى للحجم. هذه هي 'course.txt' (65 بايت) ، و 'staff.csv' (361 بايت) ، و 'ping1.bash' (248 بايت) ، و 'ping2.bash' (244 بايت). يتم نقل هذه الملفات إلى مجلد temp_bak ويتم حذف الملفات الأخرى الموجودة في المجلد temp:

نقل الملفات من نوع معين

يمكن تعيين نوع الملف الذي سيتم نقله من خلال ذكر امتداد الملف في الأمر 'rsync'. قم بتشغيل الأمر 'rsync' التالي لنقل جميع الملفات النصية لمجلد temp إلى مجلد mydir. هنا ، يتم الإشارة إلى امتداد الملف النصي باستخدام '* .txt':

rsync -v temp / *. txt mydir /

يوضح الإخراج التالي أنه تم نقل ملفين نصيين ، 'course.txt' و 'test.txt' ، إلى مجلد mydir ، وتم حذف الملفات الأخرى في المجلد temp:

اعرض الاختلافات بين ملفات المصدر والوجهة

عند نقل الملفات أو المجلدات من موقع إلى موقع آخر محليًا أو عن بُعد ، فقد يحتوي كلا الموقعين على نفس الملفات أو المجلدات. يمكن فحص الاختلافات بين المصدر والوجهة أثناء الإرسال باستخدام الخيار -i مع الأمر 'rsync'. قم بتشغيل أوامر 'cat' التالية للتحقق من محتوى المصدر والملف الوجهة قبل النقل. هنا ، يتم نقل ملف “course.txt” إلى مجلد temp.

دورات القط
درجة حرارة القط / دورات. txt
rsync -avi course.txt temp /

يُظهر الإخراج التالي أن ملف 'course.txt' الخاص بالمصدر والوجهة مختلفان قليلاً. يُظهر إخراج الأمر 'rsync' الفرق بين الملفات:

مزامنة البيانات في الوضع الجاف

إذا كنت تريد معرفة الملفات والمجلدات التي يتم نقلها بواسطة الأمر 'rsync' قبل النقل الفعلي ، فمن الأفضل تشغيل الأمر 'rsync' باستخدام الخيار –dry-run أو الخيار –n. عند تنفيذ الأمر 'rsync' باستخدام هذا الخيار ، فإنه يتحقق من الملفات أو المجلدات التي يتم نسخها من المجلد المصدر إلى المجلد الوجهة ولكنه يحافظ على المجلد الوجهة بدون تغيير. قم بتشغيل ملف “ls –la department.json” للتحقق من حجم الملف. بعد ذلك ، قم بتشغيل الأمر 'rsync' باستخدام وضع التشغيل الجاف للتحقق من نقل 'department.json' إلى مجلد temp.

ls -la department.json
rsync -v - تشغيل جاف department.json temp /

يوضح الإخراج التالي أن حجم ملف 'department.json' هو 1172 بايت. يظهر حجم الملف 1172 بايت بعد تنفيذ الأمر 'rsync' باستخدام الخيار –dry-run:

قم بتضمين أو استبعاد الملفات أثناء النقل

يمكنك تصفية نوع الملف في وقت النقل من موقع المصدر إلى موقع الوجهة باستخدام خياري تضمين واستبعاد. يتم استخدام خيار 'optionsinclude' لتحديد امتداد تلك الملفات التي سيتم نقلها من المصدر إلى الوجهة. يستخدم الخيار –exclude لتحديد امتداد تلك الملفات التي لن يتم نقلها من المصدر إلى الوجهة.

قم بتشغيل مجلد 'ls temp' التالي للتحقق من محتوى مجلد temp. بعد ذلك ، قم بتشغيل الأمر 'rsync' باستخدام خياري – include و –exclude. وفقًا للأمر ، يتم نقل جميع ملفات CSV لمجلد temp إلى مجلد الملفات ويتم حذف جميع الملفات النصية لمجلد temp في وقت النقل. بعد ذلك ، قم بتشغيل الأمر 'ls files' للتحقق من الملفات التي تم نقلها من مجلد temp إلى مجلد الملفات.

ls temp
rsync -a temp / files / --include = *. csv --exclude = *. txt
ls

يوضح الإخراج التالي أن المجلد temp يحتوي على ملفين CSV وملفين نصيين وملفي BASH. مجلد الملفات فارغ قبل النقل ويتم نقل ملفين CSV وملفي BASH:

احذف الملفات والمجلدات المصدر بعد النقل

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

ls
ls temp
rsync staff.csv temp / - حذف-المصدر-الملفات
ls

يوضح الإخراج التالي أن ملف 'staff.csv' الخاص بالموقع الحالي قد تم نقله إلى المجلد المؤقت وتتم إزالة ملف 'staff.csv' من الموقع المصدر بعد النقل:

خاتمة

'rsync' هي أداة مفيدة جدًا لنظام Linux تجعل مهمة نقل الملفات والمجلدات من موقع إلى موقع آخر أسهل باستخدام خيارات مختلفة. يتم عرض طرق استخدام الأمر 'rsync' لنقل الملفات والمجلدات من موقع إلى موقع آخر عن طريق الضغط وتعيين حجم الملفات والمجلدات وتعيين نوع الملف وتعيين حد النطاق الترددي وما إلى ذلك في 15 مثالًا بسيطًا من هذا البرنامج التعليمي. يساعد هذا البرنامج التعليمي مستخدمي Linux على معرفة الاستخدامات الأساسية للأمر 'rsync' في Linux بشكل صحيح.