RSYNC वृद्धिशील बैकअप कैसे करता है


14

कैसे rsyncपता चलता है कि कौन सी फाइलें बदली गई हैं और कौन सी नहीं हैं? क्या यह फ़ाइल में कहीं भी अपना डेटा लॉग करता है?

क्योंकि मैं वृद्धिशील बैकअप करना चाहता हूं, लेकिन पहले यह सभी फाइलों को स्थानांतरित कर देगा।

तो मेरा मुख्य प्रश्न है: अगर मैं एफ़टीपी के माध्यम से प्रारंभिक फाइलें अपलोड करता हूं, लेकिन द्वारा नहीं rsync। विल rsyncअभी भी उन मौजूदा फ़ाइलों को छोड़ देता है या यह पहली बार चलाने पर सब कुछ अपलोड कर देगा।

जवाबों:


12

Rsync में बहुत सारे झंडे होते हैं जो नियंत्रित करते हैं कि यह क्या दिखेगा और यह गंतव्य पर क्या कॉपी करेगा। सबसे अधिक बार "-a" ध्वज का उपयोग किया जाता है जो "आर्काइव" ध्वज है, यह संभवतः वही है जो आप चाहते हैं। "-av" झंडे के साथ rsync चलाएं और यह उस डेटा के विरुद्ध पहला रन करें जिसे आप बैकअप करना चाहते हैं। अगली बार जब यह चलेगा तो यह फाइल के ब्लॉक चेकसम को करेगा, और केवल उन हिस्सों पर कॉपी करेगा, जिन्हें मौजूदा फाइलों पर संशोधित किया गया है, नई फाइलों को कॉपी करें, और उन फाइलों को हटा दें जो अब नहीं हैं। पर "-a" विकल्प अनुभाग की जाँच करें:

http://linux.die.net/man/1/rsync

पहला रन BandWidth गहन होगा, निम्नलिखित रन सबसे अधिक संभावना प्रोसेसर गहन होंगे लेकिन प्रारंभिक रन की तुलना में थोड़ा बैंडविड्थ का उपयोग करें। जब तक आप अपने डेटा सेट पर बहुत मंथन नहीं करते।

Rsync का ध्यान नहीं है कि आपको स्रोत या गंतव्य निर्देशिका में फाइलें कैसे मिलीं, यह केवल दोनों के बीच परिवर्तनों को कॉपी करने वाला है, जब तक कि आप कुछ अलग करने के लिए झंडे नहीं जोड़ते।

यदि आप लॉग इन करना चाहते हैं, तो आप "- -लॉग-फाइल" विकल्प का उपयोग कर सकते हैं। सभी कुछ इस तरह से लगता है जैसे आप क्या चाहते हैं:

rsync -av --log-file=/var/log/rsync.log -e "ssh -l backup-user" backup-user@source-machine::module /nas01/backups

9

rsync 'वृद्धिशील' नहीं करता है, यह 'अंतर' की तरह है। यह परिवर्तनों को हस्तांतरित नहीं करता है (जो पहले के कुछ ज्ञान को ग्रहण करता है ), यह अंतरों को स्थानांतरित करता है (स्रोत को लक्ष्य फ़ाइलों के साथ तुलना करके)

प्रक्रिया का सरलीकरण:

  • पहले फ़ाइल का आकार, निर्माण / संशोधन तिथियां, झंडे की जांच करता है ... यदि यह सभी समान है, तो फ़ाइल को छोड़ दें।
  • यदि लक्ष्य पर उस नाम के साथ कोई फ़ाइल नहीं है, तो बस पूरी फ़ाइल की प्रतिलिपि बनाता है।
  • यदि लक्ष्य पर कोई फ़ाइल है, तो यह फ़ाइल के प्रत्येक 2KB के लिए चेकसमों की गणना करता है और प्रेषक को स्थानांतरित करता है।
  • प्रेषक मूल फ़ाइल की सामग्री की तुलना करता है और लक्ष्य के साथ तुलना करता है, और किसी भी मिलान किए गए डेटा के संदर्भों के साथ, पहले से मौजूद किसी भी डेटा को स्थानांतरित नहीं करता है। इसके साथ, लक्ष्य पुराने लक्ष्य और नए ब्लॉकों के टुकड़ों का उपयोग करके पूरी फ़ाइल को फिर से संगठित कर सकता है।

5

rsync कोई डेटा लॉग नहीं करता है, यह फ़ाइल संशोधन टाइमस्टैम्प और फिर सामग्री की जाँच करता है। अगर आप ftp द्वारा अपलोड करते हैं तो यह ठीक हो जाएगा - rsync सभी डेटा को फिर से प्रसारित नहीं करेगा लेकिन संभवतः सभी सामग्री के माध्यम से जाएगा और टाइमस्टैम्प को ठीक करेगा। लेकिन फिर से कोई बड़ा हस्तांतरण नहीं होगा।


5

शायद मुझे पांडित्य हो रहा है लेकिन वृद्धिशील बैकअप का मतलब है कि आपके पास पहले पूर्ण बैकअप है। फिर आपके पास उस बैकअप के बाद से परिवर्तित फ़ाइलों का बैकअप है। फिर आपके पास पिछले एक के बाद से बदले गए बैकअप का एक और बैकअप है, इसलिए आपको पूर्ण बैकअप की आवश्यकता है, और उस एक के बाद सभी वृद्धिशील बैकअप की आवश्यकता है।

तो, बस संग्रह मोड का उपयोग करना एक वृद्धिशील बैकअप नहीं हैमुझे लगता है कि अंतर महत्वपूर्ण है क्योंकि इसका मतलब है कि फ़ाइलों को बदलने से पहले आप समय पर वापस नहीं जा सकते

यदि आप एक वास्तविक वृद्धिशील बैकअप करना चाहते हैं, तो आप इस तरह के विकल्पों का उपयोग करते हैं --backup-dirयहाँ एक उदाहरण है


1
वृद्धिशील बैकअप और मिररिंग के बीच अंतर के लिए +1 (जो डिफ़ॉल्ट रूप से rsync करता है)।
१४:१४

आह येस! मिररिंग शब्द मैं के लिए लोभी था, अच्छी कॉल :-)
काइल ब्रांट

0

अगर असली सवाल "मैं rsync पर वृद्धिशील बैकअप करना चाहता हूं", तो कुछ विकल्प उपलब्ध हैं। मैं Dirvish का उपयोग करता हूं:

http://www.dirvish.org/

पुनर्स्थापना आसान है क्योंकि यह आपको स्नैपशॉट देता है: यह अंतरिक्ष की बचत करते समय आपको पूर्ण स्नैपशॉट देने के लिए हार्डलिंक का उपयोग करता है जहां एक फ़ाइल समान है। आंतरिक रूप से, यह rsync --link-dest विकल्प का उपयोग करता है:

--link-dest=DIR         hardlink to files in DIR when unchanged

चूंकि यह rsync का उपयोग करता है इसलिए यह नेटवर्क बैंडविड्थ (और इसलिए समय) को बचाता है जहां परिवर्तन बहुत छोटे होते हैं। यह तब भी काम करता है जब आप स्थानीय रूप से बनाई गई dirvish छवि को पहले टार और स्नीकरनेट करते हैं, यदि आपके पास बहुत सारी फाइलें और एक धीमी लिंक है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.