كيفية استخدام rsync لنسخ الملفات

How Use Rsync Copy Files



Rsync هي أداة سطر أوامر في Linux تُستخدم لنسخ الملفات من موقع المصدر إلى موقع الوجهة. يمكنك نسخ الملفات والدلائل ونظام الملفات بأكمله والحفاظ على مزامنة الملفات بين الدلائل المختلفة. يقوم بأكثر من مجرد نسخ الملفات. يقلل من كمية البيانات المرسلة عبر الشبكة عن طريق إرسال الملفات الجديدة أو المحدثة فقط. هذا هو السبب في أنها تعتبر أداة رائعة لنسخ الملفات ونسخها احتياطيًا. يدعم Rsync أيضًا نسخ الملفات إلى نظام بعيد عبر SSH.

في هذه المقالة ، سنشرح كيفية استخدام rsync لنسخ الملفات ببعض الأمثلة العملية. سنشرح أيضًا استخدام rsync في نسخ ملف واحد ، وملفات متعددة ، ودليل لكل من الأنظمة المحلية والبعيدة. سنغطي كيفية استخدام Rsync من أجل:







  • نسخ ملف / دليل داخل النظام المحلي
  • نسخ ملف / دليل من المحلي إلى النظام البعيد
  • انسخ الملف / الدليل من النظام البعيد إلى الملف المحلي

لقد أوضحنا الأوامر والإجراءات المذكورة في هذه المقالة على Ubuntu 20.04 LTS. ستحتاج إلى سطر الأوامر Terminal لنسخ الملفات باستخدام rsync. لفتح تطبيق سطر الأوامر Terminal ، استخدم اختصار لوحة المفاتيح Ctrl + Alt + T.



تثبيت Rsync

يأتي Rsync مثبتًا مسبقًا في Ubuntu 20.04 LTS. ومع ذلك ، إذا تمت إزالته عن طريق الخطأ من النظام ، فيمكنك تثبيته على النحو التالي:



$سودوملائمتثبيتrsync

فيما يلي بعض الخيارات الشائعة الاستخدام التي يمكن استخدامها مع rsync:





- أ: وضع الأرشيف
–v: يوضح تفاصيل عملية النسخ
–p: يظهر شريط التقدم
–r: نسخ البيانات بشكل متكرر
–z: لضغط البيانات
–q: قمع الإخراج

نسخ الملفات والدلائل محليا

الصيغة العامة لـ rsync هي:



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

انسخ ملفًا واحدًا محليًا

إذا كنت تريد نسخ ملف من موقع إلى آخر داخل نظامك ، فيمكنك القيام بذلك عن طريق الكتابة rsync متبوعًا باسم الملف المصدر ودليل الوجهة.

على سبيل المثال ، لنسخ ملف واحد file1.txt من الموقع الحالي وهو الدليل الرئيسي إلى دليل المستندات ~ / ، سيكون الأمر:

$rsync/الصفحة الرئيسية/يصدق/file1.txt/الصفحة الرئيسية/يصدق/وثائق

ملاحظة: بدلاً من /home/tin/file1.txt ، يمكننا أيضًا كتابة file1 لأننا نعمل حاليًا في الدليل الرئيسي. أيضًا ، يمكننا استخدام المستندات ~ / بدلاً من ذكر المسار الكامل كـ / home / tin / Documents.

انسخ ملفات متعددة محليًا

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

على سبيل المثال ، لنسخ الملفين file2.txt و file3.txt من الدليل الرئيسي إلى دليل المستندات ~ / ، سيكون الأمر:

$rsync/الصفحة الرئيسية/يصدق/file2.txt/الصفحة الرئيسية/يصدق/file3.txt/الصفحة الرئيسية/يصدق/وثائق

لنسخ جميع الملفات ذات الامتداد نفسه ، يمكنك استخدام رمز العلامة النجمية (*) بدلاً من تحديد أسماء الملفات بشكل فردي. على سبيل المثال ، لنسخ جميع الملفات من الدليل الرئيسي المنتهي بامتداد .zip إلى المجلد ~ / Documents ، سنستخدم:

$rsync/الصفحة الرئيسية/يصدق/ *.zip ~/وثائق

نسخ الدلائل محليا

إذا كنت ترغب في نسخ دليل مع دليله الفرعي وجميع المحتويات من موقع إلى آخر داخل نظامك ، فيمكنك القيام بذلك عن طريق كتابة rsync متبوعًا بدليل المصدر والوجهة.

على سبيل المثال ، لنسخ نموذج الدليل للاختبار / الدليل داخل الدليل الرئيسي ، سيكون الأمر:

$rsync-من /الصفحة الرئيسية/يصدق/عينة/الصفحة الرئيسية/يصدق/اختبار

ملاحظة: يؤدي تحديد / بعد الدليل المصدر إلى نسخ محتويات الدليل فقط. إذا لم نحدد / بعد الدليل المصدر ، فسيتم أيضًا نسخ دليل المصدر إلى دليل الوجهة.

كما هو الحال في الإخراج التالي ، يمكنك أن ترى أن عينة دليل المصدر الخاصة بنا تم نسخها أيضًا إلى دليل الوجهة (حيث استخدمنا عينة بدلاً من نموذج / كدليل مصدر).

يدعم Rsync النقل التدريجي كما ترى في الإخراج أعلاه أنه ينقل فقط الملفات الجديدة أو المحدثة.

نسخ الملفات على أساس الحجم الأقصى

أثناء النسخ ، يمكننا أيضًا تحديد الحجم الأقصى للملفات التي يمكن نسخها باستخدام الخيار –max-size. على سبيل المثال ، لنسخ الملفات التي لا يزيد حجمها عن 2000 كيلو من ~ / Downloads إلى ~ / Documents directory ، سيكون الأمر:

$rsync-إلى --اقصى حجم= 2000 كيلو/الصفحة الرئيسية/يصدق/التحميلات/ * /الصفحة الرئيسية/يصدق/وثائق

سيقوم هذا الأمر بنسخ جميع الملفات من ~ / Downloads إلى دليل المستندات ~ / باستثناء الملفات الأكبر من 2000 كيلو بايت.

نسخ الملفات على أساس الحجم الأدنى

وبالمثل ، يمكننا أيضًا تحديد الحد الأدنى لحجم الملفات التي يمكن نسخها باستخدام الخيار –min-size. على سبيل المثال ، لنسخ الملفات التي لا تقل عن 5 ميجا من ~ / Downloads إلى ~ / Documents directory ، سيكون الأمر:

$rsync-إلى - دقيقة= 5 م/الصفحة الرئيسية/يصدق/التحميلات/ /الصفحة الرئيسية/يصدق/وثائق

سيقوم هذا الأمر بنسخ جميع الملفات من ~ / Downloads إلى دليل المستندات ~ / باستثناء الملفات الأقل من 5 ميجا.

استبعاد الملفات

أثناء نسخ الملفات من دليل إلى آخر ، يمكنك استبعاد بعض الملفات باستخدام - خيار الاستبعاد متبوعًا باسم الملف أو امتداد نوع الملف.

على سبيل المثال ، لاستبعاد جميع ملفات .zip أثناء نسخ الملفات من ~ / Downloads إلى مجلد ~ / Documents ، سيكون الأمر:

$rsync-إلى - استثناء='*.أزيز' /الصفحة الرئيسية/يصدق/التحميلات/ /الصفحة الرئيسية/يصدق/وثائق

نسخ الملفات والدلائل عن بعد

باستخدام Rsync ، يمكنك نسخ ملف واحد ، وملفات متعددة ، وأدلة إلى نظام بعيد. لنسخ الملفات والدلائل عن بُعد ، سوف تحتاج إلى:

  • تم تثبيت Rsync على كل من النظام المحلي والبعيد
  • وصول SSH إلى النظام البعيد
  • كلمة مرور المستخدم البعيد

قبل نسخ الملفات باستخدام rsync ، تأكد من أنه يمكنك الوصول إلى النظام البعيد عبر SSH:

$sshremote_user@الملكية الفكرية عن بعد


الصيغة العامة لنسخ الملفات والأدلة إلى نظام بعيد باستخدام rsync:

$rsync[اختيار] [مصدر] [عن بعد@remoteip: الوجهة]

على سبيل المثال ، لنسخ ملف واحد file.txt من ~ / Downloads إلى دليل system ~ / Documents البعيد ، سيكون الأمر:

$rsync-الخامس~/التحميلات/file1.txt مظلة@192.168.72.164:~/وثائق

وبالمثل ، لنسخ الدليل ~ / Downloads / files في نظام محلي بدليله الفرعي وجميع المحتويات إلى الدليل ~ / Downloads / sample في النظام البعيد:

$rsync-rv~/التحميلات/ملفات العمرة@192.168.72.164:~/التحميلات/عينات

يمكنك أيضًا نسخ الملفات والأدلة من الجهاز البعيد إلى جهازك المحلي. على سبيل المثال ، لنسخ file2.txt من النظام البعيد إلى سطح مكتب النظام المحلي:

$rsync-الخامسعمارة@192.168.72.164:~/التحميلات/file2.txt ~/سطح المكتب/

وبالمثل ، لنسخ دليل من النظام البعيد إلى النظام المحلي

$rsync-rvعمارة@192.168.72.164:~/التحميلات/عينة ~/سطح المكتب/اختبار

يمكنك أيضًا استخدام جميع الخيارات مثل –max-size، –min-size، –exclude وغيرها أثناء نسخ الملفات إلى / من النظام البعيد.

Rsync هي أداة رائعة لنسخ الملفات من المصدر إلى الوجهة سواء محليًا أو عن بُعد. يتضمن مجموعة كبيرة من الخيارات التي تمنحك المرونة والتحكم أثناء نقل الملفات من / إلى النظام البعيد.