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 الكامل بالعربي.