मैं एक रिपॉजिटरी का बैकअप लेने के लिए rsync का उपयोग कर रहा हूं जिसमें प्रत्येक दिन कई नए सहित कई gz फाइलें होती हैं। Rsync बैकअप इससे अधिक धीमी गति से आगे बढ़ना चाहिए क्योंकि इन gz फ़ाइलों को gzip के arsyncable विकल्प के साथ नहीं बनाया गया है (जो gz फ़ाइलों को उनके आकार में वृद्धि या उनकी संगतता को प्रभावित किए बिना बहुत अधिक 'rsync-friendly' बनाता है)। और मैं निर्माण समय पर समस्या को ठीक नहीं कर सकता क्योंकि फाइलें एक पायथन स्क्रिप्ट (rdiff- बैकअप) द्वारा उत्पन्न होती हैं जो अजगर के gzip मॉड्यूल का उपयोग करता है और यह gzip के --rsyncable के बराबर का समर्थन नहीं करता है।
तो rsync चलाने से पहले मैं स्रोत डेटा में किसी भी नई gz फ़ाइलों की पहचान कर सकता हूं (यानी पिछली बार rsync चलाए जाने के बाद से नया)। अब मैं इन फाइलों को 'रि-गज़िप' करना चाहता हूं ताकि वे rsyncable-format में gzipped हों। फिर मैं अनुकूलित स्रोत से rsync चला सकता हूं।
मुझे लगता है कि इसका मतलब है कि गनज़िप के माध्यम से प्रत्येक फ़ाइल को चलाना और फिर gzip --rsyncable लेकिन मुझे यकीन नहीं है कि यह इस तरह से कैसे किया जाएगा कि डेटा या मेटाडेटा खोने का जोखिम नहीं होगा। कृतज्ञतापूर्वक प्राप्त सुझाव।
--rsyncable
।
-a
ध्वज का उपयोग करके समय को संरक्षित करके समय के आधार पर चेकसमिंग को छोड़ दें । इसके अलावा, मेरे gzip के संस्करण में एक --rsyncable
ध्वज नहीं है , लेकिन यह एक प्रोग्राम के साथ आता है जिसे कहा जाता है znew
कि इसका उपयोग संभवतः आपके लिए आवश्यक हो सकता है।
--rsyncable
करने से मदद नहीं मिलेगी। मैं कोड या शॉर्ट स्क्रिप्ट की एक पंक्ति के लिए उम्मीद कर रहा था जो कि एक gz आर्काइव को सुरक्षित रूप से अनपैक कर देगा और इसका उपयोग करके दोबारा बना देगा --rsyncable
। लेकिन यह अब मेरे लिए सिर्फ एक शैक्षणिक प्रश्न है।
--rsyncable
होना चाहिए कि अगर रन के बीच फाइलें बदल जाती हैं औरrsync
परिवर्तन भेजने की कोशिश करता है। यदि वे rsyncable हैं या नहीं, तो नई फ़ाइलों की परवाह नहीं है, क्योंकिrsync
उन्हें सारा डेटा वैसे भी भेजना है। क्या rsync रन के बीच फाइलें बदली जा रही हैं?