2013-11-23 14 views
6

मैं अपने MySQL डेटाबेस को डंप करना चाहता हूं और rsync के साथ दैनिक बैकअप बनाना चाहता हूं।एसएसडीआईएन से आरएसआईएनसी एसआरसी कैसे पढ़ा जाए?

पहला दृष्टिकोण मैं आया था जैसे mysqldump -ufoo -pbar baz > /var/tmp/baz.sql && rsync /var/tmp/baz.sql /backup/ && rm /var/tmp/baz.sql

तब मैं लेकिन सीधे rsync को mysqldump के बजाय पाइप के उत्पादन करता है, तो यह अस्थायी फ़ाइल /var/tmp/baz.sql का उपयोग नहीं करने के लिए संभव है आश्चर्य शुरू कर दिया,।

अधिक विशिष्ट होना करने के लिए, जो मैं चाहता काफी एक कमांड लाइन जो हम उबंटू में उपयुक्त के लिए GPG कुंजी अद्यतन करने के लिए उपयोग करने के लिए इसी तरह की है: gpg --export --armor CE49EC21 | sudo apt-key add -, जहां पाइप के रिसीवर यह हूँ यह दर्शाता है इस '-' तर्क का समर्थन करता है stdin से पढ़ें। मुझे लगता है कि rsync में एक समान तर्क नहीं है। लेकिन मैं जानना चाहता हूं कि कोई कामकाज है या नहीं।

+2

यदि '/ बैकअप /' एक स्थानीय पथ है, तो आप सीधे '/ backup/baz.sql' पर क्यों नहीं लिख रहे हैं? – tripleee

+0

आपको इसे librsync (http://librsync.sourcefrog.net/doc/librsync.html#io-callbacks) के साथ कार्यान्वित करना चाहिए। – ArtemGr

उत्तर

4

यह सही है, यह इस तरह से काम नहीं करता है। ऐसा इसलिए है क्योंकि rsyncA से B से पूर्ण फ़ाइल पेड़ों को स्थानांतरित करने के लिए बनाया गया है।

जिस तरह से काम करता है के rsync, यह काम नहीं कर सकते, क्योंकि rsync एक विशेष फ़ाइल स्थानांतरण करने के लिए चुनने से पहले कई चेकसम गणना करता है (या इसके भागों), और केवल 2 पुनरावृत्तियों (पिंगपांग-कदम) में ऐसा करने से।

इसका मतलब है कि एक फ़ाइल को कई बार पढ़ना पड़ता है। यह एक (संभावित रूप से बड़े) एसक्यूएल डंप के साथ काम नहीं करेगा क्योंकि इसे किसी भी तरह से buffered किया जाना होगा। और यह बफरिंग उपयोगकर्ता तक है।

वास्तव में फ़ाइल को संग्रहीत करना सबसे अच्छा कामकाज होना चाहिए, खासकर यदि यह एक फ़ाइल है जो केवल क्रमिक अंतर प्राप्त करती है।

+0

मैं बैकअप सिस्टम स्थापित कर रहा था जो बैकअप की कई प्रतियों को बनाए रखता है और 'rsync' की हार्ड-लिंक क्षमता वाले अप्रचलित लोगों को हटा देता है। मैं 'एसक्यूएल और अन्य प्रकार की फाइलों सहित सभी फाइलों के साधनों को एकजुट करने की उम्मीद कर रहा था। लेकिन अब मुझे लगता है कि 'sql' फ़ाइलों को सीधे सहेजना बेहतर है। – Sah

+0

@leesah यह उदाहरण के लिए कर सकते हैं 'rsnapshot' में एकीकृत किया जाए - यह स्क्रिप्ट को कॉल कर सकता है जो फाइलें उत्पन्न करता है। इन फ़ाइलों को सिंक प्रक्रिया में शामिल किया जा सकता है। – glglgl

+0

धन्यवाद @glglgl, मैं इसे देख लूंगा। – Sah

संबंधित मुद्दे