لماذا يعيد Rsync نسخ الملفات عندما يتطابق الحجم والتاريخ المعروض؟

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

يمكن لـRsync إعادة نسخ الملفات التي يتطابق حجمها الظاهر وتاريخها عندما تختلف أوقات تعديلها الأولية، أو قواعد المقارنة، أو خيارات النقل.

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

تأكد من أن Rsync يحدد الملف لنقل البيانات

شغّل المهمة كتجربة جافة مع عرض التغييرات بالتفصيل، واحفظ الأمر الدقيق، ومسار المصدر، ومسار الوجهة، وإصداري Rsync، واسم ملف نموذجي واحد.

يوضح دليل Rsync الرسمي أن الفحص السريع الافتراضي يقارن حجم الملف ووقت تعديله، بينما يحدد الإخراج المفصل السمات التي تسببت في التحديث.

إذا أظهر الرمز المفصل تغييرات في الأذونات أو المالك أو المجموعة أو قوائم التحكم بالوصول أو السمات الممتدة فقط، فقد يُعاد التعامل مع الملف من دون إعادة نقل محتواه بالكامل.

قارن أوقات التعديل الأولية بدلًا من التاريخ المعروض

اقرأ أوقات تعديل المصدر والوجهة بدقة النانوثانية، وقارن قيم العصر الرقمية من الأنظمة التي تشغّل المرسل والمستقبل.

يدعم هيكل stat في Linux الطوابع الزمنية بدقة النانوثانية، لذلك قد تظل قيم ملفين معروضين في الثانية نفسها مختلفة.

لا يمكن لمتصفح يعرض الدقائق أو الثواني فقط إثبات تطابق أوقات التعديل الأساسية. سجّل القيم الأولية قبل لمس الملفات مرة أخرى.

تحقق من دقة الطابع الزمني ونافذة التعديل

حدد كل نظام ملفات موجود في المسار، بما في ذلك FAT وexFAT وNTFS وSMB وNFS واستخراج الأرشيفات ووحدات التخزين القابلة للإزالة المستخدمة مرحليًا.

يوثق دليل Rsync في Debian سلوك modify-window، بما في ذلك السماح بهامش للملفات التي لا تستطيع أنظمة ملفاتها تخزين دقة زمنية متطابقة.

استخدم نافذة غير صفرية فقط بعد قياس الفرق. فقد تخفي النافذة الواسعة جدًا ملفًا متغيرًا بالفعل وله الحجم نفسه.

راجع العلامات التي تتجاوز الفحص السريع المعتاد

افحص الأمر المجدول بالكامل وأي نص برمجي غلاف أو واجهة NAS أو متغير بيئة أو ملف تضمين أو إعداد مسبق يضيف خيارات.

يوضح مرجع Rsync في Ubuntu أن ignore-times يفرض التحديثات، وأن وضع المجموع الاختباري يستبدل اختبار الوقت، بينما يتجاهل size-only وقت التعديل.

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

تحقق مما إذا كان SMB أو Windows يعيد كتابة وقت الوجهة

احسب تجزئة الوجهة وسجّل طابعها الزمني فورًا بعد النقل، وبعد إغلاق جلسة SMB، وبعد إعادة فتحها من عميل آخر.

توثق Microsoft أن التطبيقات يمكنها ضبط الطوابع الزمنية للملفات واستردادها، بينما يمكن لأنظمة الملفات والتطبيقات تحديث الحقول الفردية وفق جداول مختلفة.

إذا تغير وقت الوجهة فقط بعد أن يلمسها مفهرس أو تطبيق وسائط أو عميل سحابي أو سير عمل SMB، فأصلح ذلك البرنامج الذي يكتب الوقت بدلًا من Rsync.

افصل وقت التعديل عن البيانات الوصفية الأخرى

قارن وقت التعديل، ووقت تغيير الحالة، والأذونات، والملكية، وقوائم التحكم بالوصول، والسمات الممتدة، والروابط الصلبة، والروابط الرمزية.

تكشف أداة stat في NetBSD حقول حالة الملفات الأولية، ما يساعد على التمييز بين وقت تعديل المحتوى وتغييرات البيانات الوصفية الأخرى.

يمكن لخيارات الأرشفة أو قوائم التحكم بالوصول أو السمات الممتدة أو المالك أو المجموعة أن تؤدي إلى أعمال على البيانات الوصفية. اقرأ الرمز المفصل بدلًا من اعتبار كل مسار مُدرج عملية نقل كاملة للمحتوى.

أجرِ اختبارًا على ملف واحد وأصلح أصغر فرق مثبت

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

تتناول مقالة ZimaSpace حول النسخ الاحتياطية التزايدية الكبيرة على نحو غير متوقع أسبابًا أوسع مرتبطة بسلسلة النسخ الاحتياطية؛ أما هذه المقالة فتعزل قواعد تحديد الملفات في Rsync.

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

الأسئلة الشائعة

لماذا تبدو التواريخ متطابقة في متصفح الملفات؟

قد يقرب المتصفح الوقت إلى الثواني أو الدقائق ويعرضه بالتوقيت المحلي، بينما يتلقى Rsync طابع تعديل زمنيًا أكثر دقة.

هل سيوقف وضع المجموع الاختباري عمليات النسخ غير الضرورية؟

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

هل يمكن للمناطق الزمنية أن تسبب عمليات نقل متكررة في Rsync؟

لا ينبغي لعرض المنطقة الزمنية وحده أن يغير الطوابع الزمنية الرقمية، لكن التطبيقات أو أنظمة الملفات التي تحولها أو تقربها قد تفعل ذلك.

الدعم والنصائح

المزيد للقراءة

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.