Both ship with OpenSSH on virtually every Linux distribution — this is a خيار عادة لا خيار تثبيت، والعادة ينبغي أن تكون rsync افتراضياً. الفرق في الحالة: scp يفتح قناة SSH ويلفق البايتات ويغلق ولا يتذكر شيئاً. أما rsync فيبني قائمة checksums للوجهة قبل الإرسال وينقل ما يختلف فقط. كل ما في هذه الصفحة يسقط من هذه الجملة.

■ the answer first

rsync للنسخ الاحتياطية والأشجار الكبيرة وكل ما ستشغّله أكثر من مرة — scp لملف صغير واحد، مرة واحدة.

scp cannot resume : انقطاع عند 900 MB من 1 GB — ينقص 100 MB — يعيد من الصفر. rsync مع --partial --append-verify يحول ذلك الإعادة إلى وقفة.

On re-runs rsync moves الكتل المتغيرة فقط; scp re-sends everything. The one flag to take away: --partial.

السطر الوحيد، مع التعليقات

معظم الناس لا يحتاجون سواه — كل علم مُعنون، بالترتيب:

الشرطة الأخيرة تزحم الجميع مرة واحدة — rsync حتى يحذر بـ"no bytes transferred" حين تقصد الصيغة الأخرى

ما الذي تشتريه فرق الحالة

scp does one thing: open an SSH channel, stream the bytes, close. No state between runs, so a transfer that dies at 90% restarts from zero and re-sends the whole 1,000 MB. rsync أداة مزامنة تستخدم SSH وسيلة نقل بالصدفة: قبل الإرسال يبني قائمة checksums للوجهة (خوارزمية rolling-checksum

هل rsync أسرع؟

لنسخة أولى لملف كبير عبر وصلة سريعة هما متقاربان — كلاهما يشبع SSH، ومرور checksums يضيف كلفة يسيرة. الفجوة تفتح في ثلاثة مواضع:

  1. ملفات صغيرة بالجملة. rsync يخزّن جولات المسح للمجلدات ويمكنه إعادة استخدام اتصال واحد؛ إعدادات scp الأقدم تفتح عملية لكل ملف. آلاف الملفات الصغيرة — node_modules أو تثبيت ووردبريس — تكتمل بوضوح أسرع مع rsync.
  2. الإعادات. انسخ ملفاً حجمه 4.0 GB تغيّر منه 50 MB وينقل rsync نحو 50 MB؛ بينما ينقل scp الـ 4 GB مجدداً.
  3. Compression. -z يضغط في الطيران، وهو عون على الوصلات WAN البطيئة.

يمكنك توقيت كليهما بنفسك — الأمر متماثل الشكل، والإعادة هي موضع الجواب:

# الملف نفسه، الخادم نفسه، كلاهما عبر SSH
time scp bigfile.tar.gz user@server:/tmp/
time rsync -avh --progress bigfile.tar.gz user@server:/tmp/

# أعِد تشغيل كليهما: scp يعيد النسخ، rsync يتحقق ولا يرسل شيئاً تقريباً
time scp bigfile.tar.gz user@server:/tmp/
time rsync -avh --progress bigfile.tar.gz user@server:/tmp/

تعويذة الاستئناف

لا، scp لا يستطيع استئناف نقل مقطوع — لا علم ولا خدعة. تصميم rsync كله يفترض أن النقل سينقطع أحياناً:

rsync -avh --partial --append-verify --progress bigfile.tar.gz user@server:/srv/backup/

ملفوفاً في حلقة إعادة محاولة، تكون نسخة احتياطية "اضبط وانسَ" حتى على اتصال معادٍ:

until rsync -avh --partial --append-verify --progress \\
    ./bigfile.tar.gz user@server:/srv/backup/; do
  sleep 5
done

تحقق: شغّل rsync نفسه مجدداً → يتحقق ولا يرسل شيئاً تقريباً

متى ما زال scp يفوز

One subtlety worth knowing: the OpenSSH project deprecated scp's original protocol years ago, and modern scp actually speaks SFTP تحت الغطاء. هذا أصلح عُجلة تهريب المسارات، لكنه لم يغيّر شيئاً في قيدين يهمّان — لا استئناف، ولا نقل فروقات. تغيير البروتوكول لا يحول scp إلى rsync. وإذا كان سؤالك فعلاً "rsync أم cp": cp هو النظير المحلي فقط لـ scp — بلا استئناف ولا فروقات ولا خصائص ما لم تضف أعلاماً — وللمهام المحلية الأحادية هو مناسب.

الخطِر

--delete يعكس الحذف أيضاً — يزيل من الوجهة الملفات التي اختفت من المصدر. قوي للمرايا، خطِر في كل ما سواه. جرّب جافة أولاً:

rsync -avh --delete --dry-run src/ user@server:/srv/dest/   # للمراجعة
rsync -avh --delete src/ user@server:/srv/dest/             # ثم التنفيذ

تحقق: مرور --dry-run يطبع قائمة الحذف ولا يغيّر شيئاً

لمزامنة يومية أو أسبوعية، أدخل rsync في مؤقت systemd ودعه ينقل الفروقات فقط — الصحيفة هي حيث تترك التشغيلات قصتها.

جدول الحكم

scprsync
يأتي مع OpenSSHYesنعم
استئناف نقل مقطوعNoنعم (--partial)
نقل الفروقات في الإعاداتNoYes
يحفظ الأذونات/الروابط الرمزيةجزئياًتماماً (-a)
أنماط استبعادNo--exclude
تجربة جافةNo--dry-run
يعكس الحذفNo--delete
الأفضل لـنسخ سريعة لمرة واحدةالنسخ الاحتياطية والمزامنات والأشجار الكبيرة

الافتراضي rsync للنسخ الاحتياطية والأشجار الكبيرة وكل ما يمر عبر وصلة قد تنقطع وكل ما ستشغّله أكثر من مرة. استخدم scp عندما يكون الأمر لمرة واحدة ولن ينقطع شيء — وأضف دائماً --partial — فهو يحول كل انقطاع قادم من إعادة إلى وقفة.

■ ختم صادق مُختبَر على: rsync · scp (يتحدث SFTP تحت الغطاء) · مفاتيح وإعدادات SSH القائمة لديك. نُشر أول مرة 2026-09-08، وحُدّثت البطاقة 2026-10-04. كل أمر يعمل كما هو مكتوب؛ وسلوك الاستئناف وخوارزمية الفروقات والتحول إلى SFTP هي سلوك rsync وOpenSSH الموثق، مكتوب من عمليات نقل انقطعت فعلاً.

نهاية صفحة النسخ · لم يُجلب شيء · كل شيء محلي