बदलती है मैं एक ओपन सोर्स बैकअप उपयोगिता पर काम कर रहा हूं जो फ़ाइलों का बैक अप लेता है और उन्हें विभिन्न बाहरी स्थानों जैसे अमेज़ॅन एस 3, रैकस्पेस क्लाउड फाइल्स, ड्रॉपबॉक्स और रिमोट सर्वर को एफ़टीपी/एसएफटीपी/एससीपी प्रोटोकॉल।आरएसआईएनसी एकल (संग्रह) फ़ाइल जो हर बार
अब, मुझे वृद्धिशील बैकअप करने के लिए एक सुविधा अनुरोध प्राप्त हुआ है (यदि बैकअप जो बड़े होते हैं और स्थानांतरण और स्टोर करने के लिए महंगा हो जाते हैं)। मैं चारों ओर देख रहा हूं और किसी ने rsync
उपयोगिता का उल्लेख किया है। मैंने इसके साथ कुछ परीक्षण किए लेकिन मुझे यकीन नहीं है कि यह उपयुक्त है, इसलिए किसी ऐसे व्यक्ति से सुनना चाहेंगे जिसके पास rsync
के साथ कुछ अनुभव है।
मुझे बैकअप बनने पर क्या होता है इसके बारे में आपको त्वरित जानकारी मिलती है। असल में यह डंपिंग डेटाबेस शुरू कर देगा जैसे MySQL, PostgreSQL, MongoDB, Redis। यह फ़ाइल सिस्टम से कुछ नियमित फाइलें (छवियों की तरह) ले सकता है। एक बार सबकुछ ठीक हो जाने पर, यह सब एक ही .tar में बंडल करेगा (इसके अतिरिक्त यह gzip
और openssl
का उपयोग करके इसे संकुचित और एन्क्रिप्ट करेगा)।
mybackup.tar.gz.enc
अब मैं एक दूरस्थ स्थान से इस फ़ाइल को स्थानांतरित करना चाहते हैं:
एक बार है कि सभी किया है, हम चाहते हैं कि इस तरह दिखता है एक एकल फाइल की है। लक्ष्य बैंडविड्थ और भंडारण लागत को कम करना है। तो आइए मान लें कि यह छोटा बैकअप पैकेज आकार में लगभग 1GB
है। इसलिए हम इसे दूरस्थ स्थान पर स्थानांतरित करने के लिए rsync
का उपयोग करते हैं और स्थानीय रूप से फ़ाइल बैकअप को हटाते हैं। कल एक नई बैकअप फ़ाइल जेनरेट की जाएगी, और यह पता चला है कि पिछले 24 घंटों में बहुत अधिक डेटा जोड़ा गया है, और हम एक नई mybackup.tar.gz.enc
फ़ाइल बनाते हैं और ऐसा लगता है कि हम आकार में 1.2GB
तक हैं।
अब, मेरा सवाल है: क्या पिछले 24 घंटों में केवल 200MB
को स्थानांतरित करना संभव है? मैं निम्न आदेश की कोशिश की:
rsync -vhP --append mybackup.tar.gz.enc backups/mybackup.tar.gz.enc
परिणाम:
mybackup.tar.gz.enc 1.20G 100% 36.69MB/एस 00:00:46 (# 1 xfer , = 0/1)
भेजा 200.01M बाइट्स
प्राप्त 849.40K बाइट्स
8.14M बाइट्स की अच्छी तरह जांच/सेकंड
कुल आकार 1.20G
speedup 2,01
sent 200.01M bytes
को देखते हुए मैं कहना चाहता हूँ "जोड़कर" का डेटा ठीक से काम किया है। मैं अब क्या सोच रहा हूं कि क्या यह मौजूदा 1.2GB
को मौजूदा बैकअप में कितना और जोड़ना है, या वास्तव में केवल 200MB
स्थानांतरित करने के लिए स्थानांतरित कर दिया गया है? क्योंकि अगर यह पूरे 1.2GB
स्थानांतरित कर दिया गया है तो मुझे नहीं लगता कि यह एक बड़ी फ़ाइलों पर scp
उपयोगिता का उपयोग करने से कितना अलग है।
इसके अलावा, अगर मैं पूरा करने की कोशिश कर रहा हूं तो भी संभव है, आप किस झंडे की सिफारिश करते हैं? यदि rsync
के साथ यह संभव नहीं है, तो क्या कोई उपयोगिता है जिसके बजाय आप इसका उपयोग करने की सिफारिश कर सकते हैं?
कोई भी प्रतिक्रिया बहुत सराहना की है!
उत्तर के लिए धन्यवाद। हाँ मैं थोड़ा अनिश्चित था क्योंकि बैकअप मैं हर बार उत्पन्न करता हूं एक पूरी तरह से नई फाइल है। सभी डेटाबेस फिर से डंप किए जाते हैं, छवियों को फिर से इकट्ठा किया जाएगा, और इसे एक __new__ 'mybackup.tar.gz.enc' में जोड़ा जाएगा। चूंकि यह फ़ाइल मूल रूप से एक ** पूरी नई फ़ाइल है ** मुझे इस तरह के संदेह थे कि यह समझ में नहीं आ सकता है, या एल्गोरिदम या कुछ तोड़ सकता है। लेकिन हाँ आप एक बिंदु है। आपकी प्रतिक्रिया के लिए धन्यवाद! –
@ माइकल वैन रुइजेन: इससे कोई फर्क नहीं पड़ता कि यह नया है या नहीं, आपके पास स्थानीय और दूरस्थ फ़ाइल वाली फ़ाइल के बीच * अंतर * क्या हैं। चूंकि डेटाबेस डंपिंग की प्रक्रिया निश्चित है, उसी डेटाबेस के विभिन्न डंपों में काफी आम होगा। – Piskvor
दाएं। जब मैं सब कुछ पैकेज करता हूं तो मैं एक .tar फ़ाइल में बंडल करता हूं, यह वास्तव में केवल एक फ़ाइल के लिए कुछ 'केबी' भेजता है जो वास्तव में '3.5 एमबी' है। हालांकि, एक बार जब मैं 'GZip' के साथ फ़ाइल को संपीड़ित करता हूं तो यह फिर से '2MB' भेजना शुरू कर देगा। इसलिए जब स्थानांतरित की गई राशि अभी भी कम हो गई है, ऐसा लगता है कि आरएसआईएनसी को संपीड़ित बैकअप से निपटने में कठिन समय है। मुझे लगता है कि यह एन्क्रिप्शन के साथ समान है। तो मुझे शायद इसे '.tar' और RSync पर रखना होगा। आपकी सहायताके लिए धन्यवाद! –