फ़ाइल के संग्रह को rsync करना


11

मैं rsync के साथ एक सर्वर का बैकअप लेता हूं, लेकिन वे बैकअप काफी बड़े हैं, और मैं उन्हें संपीड़ित करना चाहता हूं। क्या बैकअप में फ़ाइल को गनज़िप करने के लिए rsync के आसपास कुछ प्रकार के आवरण होने का कोई तरीका है, लाइव फ़ाइल से परिवर्तनों को rsync करें, फिर कॉपी होते ही फ़ाइल को फिर से gzip करें?

यानी अगर लाइव पर स्रोत फ़ाइलें foo , बार और baz हैं , तो बैकअप में foo.gz , bar.gz और baz.gz हैं

आराम करने के लिए: मैं एक छोर पर संपीड़ित फ़ाइलें और दूसरे छोर पर असम्पीडित फ़ाइलें चाहता हूँ। मैं rsyncing से पहले संपीड़ित नहीं करना चाहता, क्योंकि --rsyncable के साथ भी, यह rsync को कम कुशल बनाता है। मुझे rsync के लिए -z विकल्प के बारे में पता है। सभी फाइलों को असम्पीडित रखने के लिए मेरे पास बैकअप मशीन में जगह नहीं है।

जवाबों:


10

मुझे यकीन नहीं है कि मैं समझता हूं कि आप क्या करने की कोशिश कर रहे हैं, लेकिन आप मुख्य सर्वर पर gzipped बैकअप बना सकते हैं जिससे यह सुनिश्चित हो सके कि वे आसानी से rsyncable हैं और पारगमन में कुछ भी कम करने से परेशान नहीं हैं।

gzip(1)

--rsyncable
       While compressing, synchronize the output occasionally based on
       the  input.   This  increases  size by less than 1 percent most
       cases, but means that the rsync(1) program can much more  effi‐
       ciently  synchronize  files  compressed with this flag.  gunzip
       cannot tell the difference between a  compressed  file  created
       with this option, and one created without it.

अच्छा लगा। मुझे rsyncable ध्वज के बारे में पता नहीं था। यह आसान है। मुझे आश्चर्य है कि 15% पर
मैट सिमंस

एनबी: - grsip के सभी संस्करणों पर -rsyncable विकल्प उपलब्ध नहीं है, और यह भी कोर gzip कोड के बजाय आमतौर पर लागू पैच से आता है, इसलिए यदि आपके पास यह जानने के लिए संस्करण संख्या पर्याप्त नहीं है।
mc0e

6

मुझे लगता है कि एक fuseCompress माउंटेड फाइल सिस्टम के लिए rsyncing सबसे अच्छा विकल्प हो सकता है। परियोजना के इतिहास में विशेष रूप से उनके साथ rsync के प्रदर्शन में सुधार करने का उल्लेख है।

http://code.google.com/p/fusecompress/

https://github.com/tex/fusecompress/


-1

आप rsync के लिए एक आवरण लिख सकते हैं। यदि आप डेटा को 'पुल' करते हैं, तो ऐसा करने के लिए कुछ विशेष नहीं है। यदि आप मूल मशीनों से बैकअप सर्वर पर डेटा को 'पुश' करना चाहते हैं, तो यह काम करने के लिए अधिक नाजुक है:

पहले आपको यह सुनिश्चित करना होगा कि रैपर मूल rsync के रूप में एक ही नाम, पथ और मापदंडों के साथ लागू किया गया है, कम से कम उस उपयोगकर्ता के लिए जिसके तहत आप बैकअप चलाते हैं।

दूसरा, स्टडआउट के लिए कुछ भी लिखना सुनिश्चित न करें, क्योंकि यह संचार चैनल को जगा देगा।

और तीसरा, आपके द्वारा प्राप्त सभी मापदंडों को पारित करना सुनिश्चित करें, बस नए असम्पीडित गंतव्य के लिए उपयुक्त के रूप में संशोधित करना।


-2

वह शायद rsync के माध्यम से डेटा ट्रांसमिशन संपीड़न की तलाश कर रहा है, दूसरे छोर पर फ़ाइल संपीड़न नहीं।

देखें: http://jimmyg.org/blog/2007/rsync-basics.html

मैन पेज से संपीड़न पैरामीटर:

   -z, --compress              compress file data during the transfer

        --compress-level=NUM    explicitly set compression level

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


नहीं, मैं केवल एक छोर पर फ़ाइल संपीड़न की तलाश कर रहा हूं। rsyncing पहले से ही संपीड़ित फ़ाइलें अक्षम है, इसलिए मैं rsync भाग को असम्पीडित डेटा के साथ होना चाहूंगा।
rjmunro
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.