linux - करन - बैकअप लेने का तरीका




प्रतिलिपि करने के लिए फाइल को अधिलेखित करते हैं, अगर उनकी सामग्री को समान नहीं है I (2)

मेरे पास एक तरफ से बहुत सी फाइलें हैं (ए) और दूसरी जगहों में बहुत सी दूसरी फ़ाइलें (बी)

मैं ए टू बी की प्रतिलिपि बना रहा हूँ, बहुत सारी फ़ाइलें समान हैं, लेकिन सामग्री अलग हो सकती है!

आम तौर पर मैंने इसे करने के लिए एमसी (मिडनाइट कमांडर) का इस्तेमाल किया, और "अलग-अलग आकार पर ओवरराइट" का चयन किया। लेकिन एक ऐसी स्थिति होती है जब आकार समान होता है, लेकिन सामग्री अलग होती है। इस मामले में एमसी फ़ाइल को बी में रखता है और इसे अधिलेखित नहीं करता है।

एमसी ओवरराइट संवाद में एक काम "अपडेट" है, मुझे नहीं पता कि यह क्या कर रहा है? मदद में ऐसी कोई सूचना नहीं है, शायद यह एक समाधान है?

इसलिए मैं समाधान खोज रहा हूं जो कि सभी फ़ाइलों को ए से बी की प्रतिलिपि बनाने में मदद कर सकता है और बी जगहों पर फाइलों को अधिलेखित कर सकती है अगर वे मौजूद हैं और सामग्री ए से अलग है।

अगर "बी" स्थान में फ़ाइल मौजूद है (एक ही नाम) और सामग्री अलग है, तो उसे "ए" स्थान से हर बार फ़ाइल से ओवरराइट करना होगा।

क्या आपको कोई हल पता है?


आप कुछ प्रकार की 'इंडेक्स' फाइल रखना चाह सकते हैं जो फाइलों की SHA-1 हैश रखती है, जो आप उन्हें लिखते समय बनाते हैं। फिर आप 'स्रोत' हैश की गणना कर सकते हैं और इसकी तुलना 'गंतव्य' हैश के खिलाफ सूचकांक फ़ाइल से कर सकते हैं। यह केवल तभी काम करेगा जब यह प्रक्रिया एकमात्र तरीका है जो गंतव्य पर फाइल लिखी जाती है।


क्या आपने कमांड लाइन की कोशिश की है:

cp -ru A/* B/

डायरेक्ट्री ए से डायरेक्टरी बी तक की सभी बदली हुई फाइलें (अधिक हाल के टाइमस्टैम्प) की प्रतिलिपि बनाना चाहिए।

आप जो भी करना चाहते हैं, उसके आधार पर आप कमांड लाइन में -r बजाय -a उपयोग कर सकते हैं। cp मैन पेज देखें







mc