इस लेखrsync
में कम से कम कुछ उपयोगी सुझाव दिए गए हैं :
समस्या
का उपयोग करते हुए rsync --sparse works
, लेकिन अनावश्यक डिस्क के एक विशाल माउंट का कारण बनता है लिखता है। 50GB लंबे (1GB इस्तेमाल) पर 10 बाइट्स बदलने से केवल एक या दो ब्लॉक लिखे जाने चाहिए, इससे 1GB लिखा जा सकता है। यह धीमा है, और डिस्कों की लंबी उम्र के लिए अच्छा नहीं है।
rsync --inplace
कार्यों का उपयोग करना , लेकिन गैर-विरल फाइलें बनाता है।
आप एक ही समय में --sparse और --inplace का उपयोग नहीं कर सकते :-( यह rsync द्वारा अस्वीकृत है। rsync: - sparse का उपयोग --inplace के साथ नहीं किया जा सकता है
समाधान
यदि आप पहले से मौजूद विरल फ़ाइल को अपडेट करने के लिए --inplace का उपयोग करते हैं, तो फ़ाइल विरल रहेगी और इसमें बहुत कम संख्या में ब्लॉक लिखे होंगे। यह केवल तभी होता है जब rsync --inplace एक फाइल बनाता है जो इसे गैर-विरल बनाता है।
तो समाधान यह है कि स्रोत मशीन पर प्रत्येक फ़ाइल के लिए लक्ष्य मशीन पर एक संगत, सही-सही, खाली, विरल फ़ाइल बनाई जाए - यदि फ़ाइल अभी तक लक्ष्य मशीन पर मौजूद नहीं है।
तब rsync --inplace विरल के रूप में काम करेगा, स्पार्स फ़ाइलों को विरल छोड़कर, और केवल डिस्क को बदले हुए ब्लॉक लिख रहा है।
इसलिए, अगर मैं इसे सही ढंग से पढ़ता हूं, तो आप पहले लक्ष्य पर एक खाली विरल फ़ाइल बनाना चाहते हैं। आप इसके साथ कर सकते हैं
truncate -s 3G filename
फिर आप rsync --inplace
फ़ाइलों को कॉपी करने के लिए उपयोग कर सकते हैं। यह केवल एक बार आवश्यक होना चाहिए।
वही लेख Virtsync का उपयोग करने का सुझाव देता है जो है
विशाल फ़ाइलों (जैसे वर्चुअल मशीन डिस्क चित्र और डेटाबेस) की सामग्री को सिंक्रनाइज़ करने के लिए $ 49 वाणिज्यिक लिनक्स कमांड-लाइन टूल।
यह सबसे अच्छा समाधान हो सकता है यदि आप इसके लिए भुगतान करने को तैयार हैं क्योंकि यह विशेष रूप से इस प्रकार की स्थिति के लिए लिखा जा रहा है।