سؤال

أقوم بإنشاء برنامج نصي bash لنسخ ملفاتي الاحتياطية مع RSYNC.

جميع النسخ الاحتياطية تأتي من دليل واحد. أريد فقط أن يتم نسخ الملفات الجديدة أو المعدلة.

حاليا ، أنا أخبر RSYNC النسخ الاحتياطي لـ DIR ، ولتحقق من الملفات مقارنة بالنسخ الاحتياطي الأخير.

الطريقة التي أفعل بها هذا

THE_TIME=`date "+%Y-%m-%dT%H:%M:%S"`
rsync -aP --link-dest=/Backup/Current /usr/home/user/backup /Backup/Backup-$THE_TIME
rm -f /Backup/Current
ln -s /Backup/Backup-$THE_TIME /Backup/Current

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

أحصل على خطأ عندما أقوم بتشغيل البرنامج النصي:

rsync: link "/Backup/Backup-2010-08-04-12:21:15/dgs1200series_manual_310.pdf"

=>/backup/current/dgs1200series_manual_310.pdf فشل: العملية غير مدعومة (45)

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

شكرا على اي مساعدة

تعديل:

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

أظن أن هذا هو قيود على AFP.

هل كانت مفيدة؟

المحلول

هناك شيئان من صفحة MAN يبرزان يستحق التحقق:

إذا لم يكن الملف يربط ، تحقق من سماتها. تحقق أيضًا مما إذا كانت بعض السمات قد أجبرت خارج عنصر تحكم RSYNC ، أو خيار MOTTAL الذي يصرخ على مستخدم واحد ، أو يتصاعد محرك أقراص قابل للإزالة مع ملكية عامة (مثل خيار "تجاهل التجاهل" من OS X).

و

لاحظ أن إصدارات RSYNC قبل 2.6.1 لديها خطأ يمكن أن يمنع-الوصلة من العمل بشكل صحيح من أجل غير مستخدم غير خارق عندما تم تحديد -O (أو ضمنيًا بواسطة -a). يمكنك العمل على هذا الخطأ عن طريق تجنب خيار -o عند الإرسال إلى RSYNC القديم.

هل لديك خيار "تجاهل الملكية" الذي تم تشغيله؟ ما هو نسخة rsync هل تملك؟

أيضًا ، هل حاولت إنشاء ارتباط متشابه يدويًا باستخدام ln في سطر الأوامر؟

نصائح أخرى

فقط في حالة عدم وجود سطر الأوامر الخاص بك فقط: تأكد من تحديد دليل الوصلات دائمًا مع مطلق مسار! هذا شيء استغرقني بعض الوقت لمعرفة ...

لا أعرف ما إذا كانت هذه هي نفس المشكلة ، لكنني أعلم أن RSYNC لا تستطيع مزامنة ملف عندما تكون الوجهة عبارة عن قسم FAT32 وأن اسم الملف يحتوي على ":" (القولون) فيه. [نظام الملفات المصدر هو Ext3 ، والوجهة FAT32

حاول إعادة تكوين date أمر بحيث لا يستخدم القولون ومعرفة ما إذا كان هذا يحدث فرقًا.

على سبيل المثال

THE_TIME=`date "+%Y-%m-%dT%H_%_%S"`
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top