آخر تحديث: 2026-07-12
يعكس rsync المجلدات منذ عام 1996 لسبب وجيه: مزامنة ثنائية الاتجاه، وخوارزمية دلتا بمجموع تحقّق متدحرج تنقل فقط البايتات التي تغيّرت فعلًا داخل الملف، وعقود من الأعلام لكل حالة حافّة. إن كان لديك أصلًا وصول SSH وتعرف rsync، فمن الصعب جدًا التفوّق عليه.
يغطّي أمر sync في Relayium مهمة أضيق — مرآة تزايدية أحادية الاتجاه — لكنه يزيل خطوة يفترض rsync أنك أنجزتها أصلًا: إعداد SSH. يعمل فوق SSH إن كان لديك، أو يصل جهازين مباشرة دون أي خادم SSH إطلاقًا. يقارن هذا المقال الاثنين بصدق؛ فليس sync بديلًا كاملًا عن rsync، والأسئلة الشائعة تقول ذلك بوضوح.
إن rsync ثنائي الاتجاه — أيّ جانب يمكن أن يكون المصدر — وتقارن خوارزمية النقل بالدلتا فيه كتل الملف بمجموع تحقّق متدحرج، فتعديل صغير على ملف ضخم يرسل الكتل المتغيّرة فقط، لا الملف كله من جديد. وذلك، إضافةً إلى عقود من الأعلام (--exclude و--link-dest للقطات الروابط الصلبة، والضغط، وحدود عرض النطاق، وأكثر)، يجعله الأداة المناسبة لكثير من المهام.
وهو أيضًا في كل مكان: تأتي به معظم أنظمة Linux وmacOS، ويعمل فوق اتصال SSH ربما أعددته أصلًا. لا شيء من ذلك يحاول Relayium sync استبداله.
كل ما يلي هو relayium CLI، فثبّته أولًا إن لم تكن قد فعلت. على macOS وLinux، يُسقط أمر واحد ملفًا ثنائيًا مُسبق البناء في PATH الخاص بك:
curl -fsSL https://relayium.com/install.sh | sh
إن relayium sync <src...> <dest> [--delete] [--watch] مرآة تزايدية أحادية الاتجاه: يقارن حجم كل ملف ووقت تعديله، ويتخطّى ما يطابق أصلًا، ويرسل الباقي.
يعمل عبر نقلين. وجّهه إلى user@host:/dest فيعمل فوق SSH — لكن يجب أن يكون relayium مثبَّتًا أصلًا على الطرف البعيد؛ وخلافًا لـ push، لا يوجد رجوع إلى tar في sync. وجّهه بدلًا من ذلك إلى relayium://host[:port] فيتخطّى SSH كليًا: اتصال TLS 1.3 مثبَّت مباشرة إلى مستمع relayium serve على الجهاز الآخر، مُصادَق عليه ببصمة ذلك الجهاز (يُوافَق عليها مرة، وتُذكَر بعد ذلك). هذا المسار الثاني هو الراحة الحقيقية: لا sshd لإعداده، ولا مفاتيح SSH لإدارتها — فقط جهازان عليهما relayium ومنفذ مفتوح بينهما.
relayium sync ./photos user@host:/backup/photos # عبر SSH
relayium sync ./photos relayium://203.0.113.9:9031 # daemon direct، بلا SSH
افتراضيًا لا يفعل sync سوى الإضافة والتحديث — ولا يحذف شيئًا من تلقاء نفسه أبدًا. مرّر --delete لعكس عمليات الحذف أيضًا، لكن على المُستقبِل أن يوافق صراحةً: يجب أن يكون يعمل بـ relayium serve --allow-delete. وإن لم يكن كذلك، يُرفَض طلب الحذف ويُبلَّغ به المُرسِل بدل تجاهله بصمت.
لمجلد يتغيّر باستمرار، يبقي --watch على تشغيل sync بعد المرور الأول ويعيد العكس كلما تغيّر ملف تحت المصدر — لا يملك rsync شيئًا مدمجًا لهذا؛ إذ تلجأ عادةً إلى مهمة cron أو غلاف مثل lsyncd.
relayium serve --dir /backup --port 9031 --allow-delete
relayium sync ./photos relayium://203.0.113.9:9031 --delete --watch
يُتحقَّق من كل ملف من الطرف إلى الطرف بتجزئة SHA-256، والنقل الذي يُقطَع في منتصف ملف يُستأنَف من إزاحة البايت الموجودة أصلًا على القرص بدل البدء من جديد — مفيد للأسباب نفسها التي يفيد لها في rsync.
ولنكن واضحين بشأن ما لا يفعله الاستئناف: فهو ليس خوارزمية الدلتا في rsync. إن كان ملف موجودًا بالكامل أصلًا لكن بحجم أو طابع زمني مختلف، يعيد sync إرساله كاملًا بدل مقارنة الكتل المتغيّرة داخله. لملف ضخم واحد يتغيّر تغيّرًا طفيفًا ومتكررًا، سينقل النقل بالدلتا في rsync بيانات أقل. كما يتعامل sync مع الملفات العادية فقط — تُتخطّى الروابط الرمزية والملفات الخاصة، فأي شيء يعتمد عليها يحتاج معالجة منفصلة.
اختر rsync حين تحتاج إلى مزامنة في الاتجاهين، أو حين يكون SSH مُعدًّا أصلًا ولا تريد daemon آخر، أو حين تحتاج إلى تحكّم دقيق (استثناءات، ومرشّحات، ولقطات روابط صلبة، وحدود عرض نطاق، وضغط)، أو حين يتغيّر ملف تغيّرًا طفيفًا ومتكررًا فيوفّر النقل بالدلتا عرض نطاق حقيقيًا. لا يحاول Relayium sync تغطية أيٍّ من ذلك.
لا. لا يفعل سوى عكس أحادي الاتجاه ولا يملك خوارزمية دلتا على مستوى الكتل مثل rsync — فالملف بحجم أو طابع زمني مختلف يُعاد إرساله كاملًا، وأعلامه أقلّ بكثير من rsync. إن احتجت إلى مزامنة ثنائية الاتجاه، أو تحكّم دقيق بالترشيح، أو أردت الاعتماد على منظومة rsync الناضجة، فإن rsync يبقى الأداة الأفضل.
لا. يتخطّى daemon direct (relayium://host:port) SSH كليًا: اتصال TLS مثبَّت، مُصادَق عليه ببصمة المُستقبِل، يُوافَق عليها مرة وتُذكَر بعد ذلك. يمكنك أيضًا المرور عبر SSH (user@host:path)، لكن يجب أن يكون relayium مثبَّتًا على الطرف البعيد لذلك — وخلافًا لـ push، لا يوجد رجوع إلى tar في sync.
فقط إن مرّرت --delete وكان serve لدى المُستقبِل يعمل بـ --allow-delete. وإلا يُرفَض طلب الحذف ويُبلَّغ به المُرسِل، لا يُتجاهَل بصمت.
نعم، مع --watch. بعد المرآة الأولى، يبقى sync يعمل ويعيد العكس (مع تخفيف الارتداد) كلما تغيّر ملف تحت المصدر.
نعم. إن CLI في Relayium مجاني تمامًا. لا تحتاج sync ولا push/pull ولا daemon direct إلى حساب. يحتاجه send كي يُصدر الخادم رمز الاقتران، ويحتاجه up السحابي لتخزين الملف.
اعكس مجلدًا بين جهازين من أجهزتك — دون حاجة إلى خادم SSH.
احصل على CLI