تخطَّ إلى المحتوى

rsync

مزامنة الملفّات محليًّا وعن بُعد rsync

rsync يزامن ملفّات ومجلّدات بين مصدر وهدف (محليًّا أو عبر SSH)، وينقل فقط الفروقات بدل نسخ كل شيء من جديد.

بعكس `cp` أو `scp` اللذين ينسخان الملفّات بالكامل في كل مرّة، rsync يقارن الملفّات أولًا وينقل فقط الأجزاء المتغيّرة — أسرع بكثير للمزامنة المتكرّرة أو الملفّات الكبيرة. يحتاج rsync مثبّتًا على الطرفين للنقل عن بُعد، ويستخدم SSH كوسيلة نقل افتراضيًّا.

الصياغة

rsync [خيارات] المصدر الهدف

📄 مثال

rsync -avz src/ user@host:/var/www/    # رفع مع أرشفة وضغط
rsync -avz user@host:/backup/ ./local/  # تنزيل
rsync -avzn src/ dest/                  # تجربة بدون تنفيذ (dry-run)
rsync -avz --delete src/ dest/          # مزامنة كاملة (حذف الزائد بالهدف)

أهم الخيارات

الخيارالوظيفة
-aوضع الأرشفة (archive): نسخ متكرر مع الحفاظ على الصلاحيات والروابط والوقت
-vعرض تفصيلي لما يتم نقله
-zضغط البيانات أثناء النقل (مفيد عبر الشبكة)
-nتجربة بدون أي تغيير فعلي (dry-run)
--deleteحذف الملفّات من الهدف غير الموجودة في المصدر

💡 نصائح عملية

  • شغّل أي أمر rsync مع `--delete` بخيار `-n` أولًا لترى ماذا سيُحذف قبل التنفيذ الفعلي

⚠️ أخطاء شائعة

  • نسيان الشرطة المائلة في نهاية مسار المصدر (`src/` مقابل `src`) — تُغيّر هل يُنسخ محتوى المجلّد أو المجلّد نفسه بداخل الهدف

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار LINUX الكامل بالعربي.