لنسخ مشروع بين محركات أقراص Mac مع الاحتفاظ بتواريخ تعديل ملفاته، استخدم أمر ditto الخاص بنظام macOS في Terminal وتحقق من النتيجة. هناك قيد واحد مهم: توثيق ditto يوضح الحفاظ على أوقات التعديل والوصول، ولكن ليس تاريخ إنشاء الملف الأصلي. إذا كان المقصود بـ "التاريخ" هو قيمة تاريخ الإنشاء (Created) في Finder، فإن خيارات النسخ الموثقة في macOS لا تضمن الاحتفاظ به. تحقق من التاريخ المهم بالنسبة لك قبل حذف محرك الأقراص المصدر أو إعادة تهيئته.

حدد أولاً التاريخ الذي تحتاج إلى الاحتفاظ به

يسجل تاريخ التعديل (Modified) الخاص بالملف وقت آخر تغيير في محتوياته. أما تاريخ الإنشاء (Created) فهو سمة منفصلة لنظام الملفات. يمكن لـ Finder أيضاً عرض تاريخ الإضافة (Date Added)، والذي يصف وقت إضافة عنصر إلى موقع معين. تُدرج Apple تواريخ الإنشاء وتغيير المحتوى كسمات بيانات وصفية (metadata) مميزة لنظام الملفات، لذا فإن الحفاظ على إحداها لا يعني بالضرورة الحفاظ على السمات الأخرى. مفاتيح البيانات الوصفية لنظام الملفات من Apple

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

نسخ المشروع باستخدام ditto

لإنشاء مجلد وجهة جديد، قم بتوصيل كلا محركي الأقراص وافتح Terminal. استبدل أسماء وحدات التخزين والمجلدات النموذجية بالأسماء المعروضة في Finder. يجب ألا يحتوي مجلد الوجهة بالفعل على نسخة مشروع تحتاج إلى الاحتفاظ بها: يمكن لـ ditto الدمج في وجهة موجودة واستبدال الملفات ذات الأسماء المتطابقة.

ditto -V "/Volumes/SourceDrive/Project" "/Volumes/BackupDrive/Project"

يقوم هذا بنسخ محتويات مجلد المشروع إلى مجلد وجهة يسمى Project؛ ويقوم -V بطباعة كل عنصر تم نسخه. يذكر دليل ditto لنظام macOS أن العناصر المنسوخة تحتفظ بأوقات التعديل والوصول الخاصة بالمصدر، وأنه يتم الحفاظ على شوكات الموارد (resource forks) والسمات الموسعة افتراضياً. ولا يدرج وقت الإنشاء ضمن الطوابع الزمنية التي يَعِد بالحفاظ عليها. DITTO(1)، صفحة دليل macOS

إذا كان مجلد الوجهة موجوداً بالفعل، يقوم ditto بدمج المصدر فيه. استخدم مجلداً جديداً للوجهة باسم صحيح عندما ترغب في الحصول على نسخة نظيفة، وتحقق من مخرجات الأمر للتأكد من عدم وجود أخطاء قبل الاعتماد على النتيجة. لا تضف --norsrc بدون تدقيق: يذكر الدليل أنه يعطل نسخ شوكات الموارد، وما لم يتم تجاوزه، يعطل أيضاً السمات الموسعة وقوائم التحكم في الوصول (ACLs). قد تكون هذه السمات مهمة لملفات مشاريع Mac.

لماذا لا يعد cp -p حلاً لتاريخ الإنشاء

يحافظ أمر cp المدمج مع الخيار -p على أوقات التعديل والوصول، إلى جانب سمات أخرى حيثما تسمح الأذونات بذلك. ولا يتضمن دليل cp من Apple وقت الإنشاء في تلك القائمة أيضاً. هذا يجعل cp -p مفيداً عندما ترغب في الاحتفاظ بتواريخ التعديل، ولكنه ليس طريقة موثقة لنقل تاريخ الإنشاء الأصلي للملف عبر محركات الأقراص. دليل cp من Apple

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

تحقق قبل حذف الملف الأصلي

بعد النسخ، حدد بعض الملفات النموذجية في Finder واضغط على Command-I لفتح نافذة "إحضار المعلومات" (Get Info). قارن قيم تاريخ التعديل (Modified) بين المصدر والوجهة؛ وقارن أيضاً تاريخ الإنشاء (Created) إذا كان ذلك من متطلباتك. في طريقة عرض القائمة (List view) في Finder، يمكنك فحص أعمدة التاريخ المتاحة والفرز حسبها، على الرغم من أن وثائق Apple توضح عرض تاريخ التعديل في طريقة عرض القائمة بدلاً من تقديم ضمان لنقل جميع حقول التاريخ. دعم Apple: تنظيم ملفاتك في Finder على Mac

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

إذا كانت تواريخ الإنشاء الدقيقة ضرورية للغاية، فلا تختر سير عمل للنسخ أو الأرشفة إلا بعد التأكد من أنه يدعم صراحةً الحفاظ على تواريخ الإنشاء واستعادتها لأنظمة الملفات المصدر والوجهة لديك. لا تقدم وثائق ditto و cp -p من Apple هذا الوعد، لذا لا تتعامل مع أي من الأمرين كحل مؤكد لهذا المتطلب.

المصادر