كيف يمكنني استخدام RSYNC إلى ملفات النسخ الاحتياطي التي تم تغييرها في غضون فترة أحدث؟

StackOverflow https://stackoverflow.com/questions/945331

سؤال

هل من الممكن تحديد نطاق زمني بحيث تعمل RSYNC فقط على الملفات التي تم تغييرها مؤخرا.

أكتب النصي للنسخ الاحتياطي الملفات المضافة مؤخرا عبر SSH و RSYNC يبدو وكأنه حل فعال. مشكلتي هي أن أدلة المصدر الخاصة بي تحتوي على تراكم ضخم من الملفات القديمة التي ليس لدي مصلحة في النسخ الاحتياطي.

الحل الوحيد الذي صادفته حتى الآن يقوم بعمل العثور على CTIME لتوليد ملف - من ملف. هذا يعمل، ولكن يجب أن أتعامل مع بعض المنشآت القديمة مع إصدارات RSYNC التي لا تدعم - من. أنا أفكر في توليد - من أنماط من الأنماط بنفس الطريقة ولكن أحب أن أجد شيئا أكثر أناقة.

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

المحلول

يبدو أنه يمكنك تحديد أوامر Shell في الحجج إلى RSYNC (انظر Remote Rsync تنفذ أوامر Shell التعسفية)

لذلك تمكنت من الحد بنجاح من الملفات التي تنظر إليها RSYNC باستخدام:

rsync -av remote_host:'$(find logs -type f -ctime -1)' local_dir

هذا يبحث عن أي ملفات تغيرت في اليوم الأخير (-ctime -1) ثم rsyncs تلك الموجودة في local_dir.

لست متأكدا مما إذا كانت هذه الميزة حسب التصميم ولكن ما زلت حفر في الوثائق.

نصائح أخرى

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

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

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

ماذا عن إنشاء دليل مؤقت، أو تعاوني أو إصلاح الملفات في، ثم rsyncing ذلك؟

هل لي أن أقترح عليك إسقاط RSYNC وإلقاء نظرة على RDIFF-Backup؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top