أفضل طرق نقل الملفات بين الأنظمة باستخدام أدوات scp و rsync

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

أفضل طرق نقل الملفات بين الأنظمة باستخدام أدوات scp و rsync - %categories

النقاط الرئيسية

  • يمكن لكل من scp وrsync نقل الملفات بأمان، ولكن rsync أفضل للنقل المجدول بانتظام والتعامل مع مشكلات الشبكة.
  • استخدم scp للنقل اليدوي للملفات؛ rsync أكثر ملاءمة للبرامج النصية ومهام cron ذات الخيارات المتقدمة مثل الضغط.
  • يتطلب كلاهما SSH للأمان، ولكن يجب أيضًا تثبيت rsync على كلا الكمبيوترين لاستخدامه.

هناك الكثير من الأدوات لنقل الملفات بين كمبيوترين على سطر أوامر Linux، ولكن أوامر scp وrsync ستغطي أي حالة استخدام تقريبًا. إليك كيفية ومتى تستخدمها.

ما هو الفرق بين scp وrsync؟

يقوم كل من الأمرين scp وrsync بنقل الملفات بين كمبيوترين، ويمكن لكل منهما القيام بذلك بأمان شديد. الفرق الرئيسي بين الأمرين لا يكمن في ما يفعلانه، بل في كيفية القيام بذلك.

إن الأمر scp يرمز إلى “النسخ الآمن“، وهو يعمل في كثير من النواحي مثل الأمر cp أو “النسخ” القياسي في يونكس، ولكن بين جهازين كمبيوتر. يشير “الآمن” في الاسم في هذه الحالة إلى SSH، البروتوكول الذي يستخدمه للتواصل مع الكمبيوتر البعيد.

هذا الأمر بسيط كما يبدو، فهو يقرأ الملفات من جهاز كمبيوتر ويكتبها على جهاز كمبيوتر آخر. وتتوافق هذه البساطة مع فلسفة يونكس “القيام بشيء واحد بشكل جيد”.

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

اقرأ أيضا:  أفضل 3 طرق لاستخدام Google Docs في الوضع المظلم على Chrome

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

أفضل طرق نقل الملفات بين الأنظمة باستخدام أدوات scp و rsync - %categories

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

مع ذلك، فإن الأمر rsync يشبه الأمر scp أيضًا. على سبيل المثال، يمكنه أيضًا الاتصال عبر SSH ويمكنك استخدام مفتاح SSH للاتصال بجهاز بعيد باستخدام أي من الأمرين.

كيفية نقل الملفات باستخدام scp

إن استخدام أداة scp لنقل الملفات الفردية بين أجهزة الكمبيوتر أمر بسيط. يمكن أن يكون الأمر أساسيًا كما يلي:

scp <filename> username@remotehost:/path/to/directory

لنسخ الملف “foo.txt” إلى جهاز كمبيوتر بعيد، يمكنك استخدام الأمر أدناه:

scp foo.txt kris@some-computer:/home/kris/

لاستخدام الأمر scp لنسخ هذا الملف مرة أخرى إلى جهاز الكمبيوتر الخاص بي (لسبب ما)، يمكنني استخدام ما يلي:

scp kris@some-computer:/home/kris/foo.txt

بالطبع، في كثير من الحالات، قد ترغب في نقل مجلدات كاملة من الملفات بين أجهزة الكمبيوتر. لحسن الحظ، هذا الأمر بسيط مع scp كما هو الحال مع الأمر cp القياسي. ما عليك سوى تمرير العلم -r لنسخ مجلد بشكل متكرر:

scp -r dotfiles kris@some-computer:/home/kris/

أو لنسخ دليل بشكل متكرر من جهاز كمبيوتر بعيد، استخدم ما يلي:

scp -r kris@some-computer:/home/kris/dotfiles

لمزيد من المعلومات المتعمقة حول كل ما يمكنك فعله باستخدام هذا الأمر، راجع دليلنا لاستخدام الأمر scp على Linux.

اقرأ أيضا:  كيفية استخدام Spotify و YouTube Music و Apple Music و Pandora كمنبه

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

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

rsync <local-filename> user@remotehost:<remote-filename>

لذلك، لنسخ نفس ملف “foo.txt” من مثال scp أعلاه، يمكنك استخدام الأمر التالي:

rsync foo.txt kris@some-computer:foo.txt

أفضل طرق نقل الملفات بين الأنظمة باستخدام أدوات scp و rsync - %categories

في الخلفية، سيحاول rsync استخدام اتصال SSH، وسيطلب منك اسم المستخدم وكلمة المرور. بمجرد التحقق من هويتك، ستبدأ عملية النقل.

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

rsync kris@some-computer:/home/kris/foo.txt .

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

ونظرًا لحالات الاستخدام التي يتم طرح rsync من أجلها عادةً، فمن المنطقي دمج هذه الخيارات في علامة واحدة يسهل الوصول إليها. بالنسبة للغالبية العظمى من استخدامك لـ rsync، فمن المحتمل أن ترغب في استخدام العلامة -a. على سبيل المثال، لمزامنة دليل مع جهاز كمبيوتر بعيد:

rsync -av ~/dotfiles kris@some-computer:/home/kris/dotfiles

العلم الثاني في الأمر أعلاه هو “-v” بدلاً من “–verbose” والذي سيعطيك نتائج أكثر تفصيلاً حول تقدم الأمر أثناء تشغيله.

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

rsync -azv ~/dotfiles kris@some-computer:/home/kris/dotfiles

مرة أخرى، لا يُضمن تسريع عمليات النقل، لكن الأمر يستحق النظر فيه، وخاصةً بالنسبة للمهام المتكررة مثل نصوص النسخ الاحتياطي أو المهام الأخرى التي تستغرق وقتًا كبيرًا.

اقرأ أيضا:  6 طرق لإصلاح عكس Fire TV Stick لا يعمل ويتجمد

هذه مجرد لمحة عن مدى قوة أمر rsync. لمزيد من الأفكار، لدينا بعض الأمثلة المفيدة لأمر rsync في العمل.

متى يجب عليك استخدام scp أو rsync؟

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

إذا كنت تستخدم الأمر يدويًا لنقل الملفات، فسيكون من الأسهل عليك عمومًا استخدام أمر scp. إنه أبسط وأكثر وضوحًا، وربما تكون على دراية بالفعل بالأعلام الأساسية من استخدام الأمر cp.

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

إن كلا الأمرين يستحقان المعرفة وكلاهما مفيد ليكون ضمن مجموعة أدواتك من أوامر Linux الأساسية. بعد كل شيء، لا تعرف أبدًا متى قد تجد نفسك عالقًا في الوصول إلى أمر واحد فقط من الأمرين. في هذه الحالة، من الجيد أن تعرف على الأقل أساسيات كليهما.

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

قد يعجبك ايضا