आम तौर पर rsync
जब फाइलें स्रोत और गंतव्य पक्षों पर समान आकार और समय होती हैं, तो फाइलें रोक देती हैं। यह एक अनुमान है जो आमतौर पर एक अच्छा विचार है, क्योंकि यह rsync
उन फ़ाइलों की सामग्री की जांच करने से रोकता है जो स्रोत और गंतव्य पक्षों पर बहुत समान हैं।
--ignore-times
rsync
फ़ाइल-बार-और-आकार-आकार को बंद करने के लिए कहता है, और इस प्रकार बिना किसी स्रोत के गंतव्य से सभी फ़ाइलों को बिना किसी हस्तांतरण के। rsync
तब स्रोत की ओर से प्रत्येक फ़ाइल को पढ़ने के लिए आगे बढ़ेंगे, क्योंकि इसे या तो अपने डेल्टा-ट्रांसफर एल्गोरिथ्म का उपयोग करने की आवश्यकता होगी, या --whole-file
विकल्प को निर्दिष्ट करने के आधार पर हर फाइल को उसकी संपूर्णता में भेजना होगा ।
--checksum
फ़ाइल-बार-और-आकार के आकार को भी संशोधित करता है, लेकिन यहां यह समय की उपेक्षा करता है और केवल आकारों की जांच करता है। स्रोत और गंतव्य पक्षों पर फ़ाइलें जो आकार में भिन्न होती हैं, स्थानांतरित की जाती हैं, क्योंकि वे स्पष्ट रूप से भिन्न होती हैं। समान आकार वाली फाइलें rsync
चेकसमेड हैं (MD5 के साथ संस्करण 3.0.0+ में, या पहले के संस्करणों में MD4 के साथ), और अलग-अलग रकम रखने वालों को भी स्थानांतरित किया गया है।
उन मामलों में जहां स्रोत और गंतव्य पक्ष ज्यादातर समान होते हैं, --checksum
परिणामस्वरूप अधिकांश फाइलों को दोनों तरफ से चेक किया जाएगा। यह लंबे समय तक ले सकता है, लेकिन अपशॉट यह है कि डेटा का सबसे न्यूनतम न्यूनतम वास्तव में तार के ऊपर स्थानांतरित किया जाएगा, खासकर अगर डेल्टा-ट्रांसफर एल्गोरिथ्म का उपयोग किया जाता है। बेशक, यह केवल एक जीत है यदि आपके पास बहुत धीमा नेटवर्क है, और / या बहुत तेज सीपीयू है।
--ignore-times
दूसरी ओर, नेटवर्क पर अधिक डेटा भेजेगा, और यह सभी स्रोत फ़ाइलों को पढ़ने का कारण बनेगा, लेकिन कम से कम यह स्रोत और गंतव्य सीपीयू पर कई क्रिप्टोग्राफिक रूप से मजबूत हैशटैग की गणना का अतिरिक्त बोझ नहीं डालेगा। मैं इस विकल्प की अपेक्षा करूँगा कि --checksum
जब आपके नेटवर्क तेज़ हों, और / या आपका CPU अपेक्षाकृत धीमी गति से बेहतर प्रदर्शन करे ।
मुझे लगता है कि मैं केवल कभी उपयोग करूंगा --checksum
या --ignore-times
यदि मैं फ़ाइलों को एक गंतव्य पर स्थानांतरित कर रहा हूं, जहां यह संदेह था कि कुछ फ़ाइलों की सामग्री दूषित हो गई थी, लेकिन जिनके संशोधन के समय को नहीं बदला गया था। मैं वास्तव में या तो विकल्प का उपयोग करने के लिए किसी अन्य अच्छे कारण के बारे में नहीं सोच सकता, हालांकि संभवतः अन्य उपयोग-मामले हैं।
--checksum
उपयोगी पाया है--itemize-changes
। वर्तमान दैनिक / साप्ताहिक अपडेट पूर्ण होने के बाद हर अब और फिर से मेरी बैकअप स्क्रिप्ट इस तरह से पूर्ण तुलना करती हैं। मैं एक ईमेल को तत्काल चिह्नित--itemize-changes
कर देता हूं, अगर कुछ भी अप्रत्याशित होता है, तो मुझे पता है कि एक संभावित समस्या है जिस पर मुझे गौर करना चाहिए।