rsync फाइलों को कॉपी करने के लिए बदल गया है


42

मुझे एक विशेष निर्देशिका से कुछ फ़ाइलों को दैनिक आधार पर एक अलग स्थान पर कॉपी करने की आवश्यकता है। मैं केवल परिवर्तनों को कॉपी करना चाहता हूं, इसलिए उपयोग करने की योजना बना रहा हूं rsync। ये फाइलें निम्नलिखित नामकरण सम्मेलन का अनुसरण करती हैंmysql-bin.*

मेरी आज्ञा इस प्रकार है

# rsync --update -raz --progress /var/lib/mysql/mysql-bin.*  /dbdata/binarylog/

मेरा भ्रम तब से है जब मैं पूर्ण निर्देशिका सामग्री के बजाय एक निर्देशिका से केवल कुछ फ़ाइलों को कॉपी करने की योजना बना रहा हूं, मैंने * केवल आवश्यक फ़ाइलों की प्रतिलिपि बनाने के लिए उपयोग किया है। बस यह जानना चाहता हूं कि क्या मेरा लक्ष्य वही हासिल करने के लिए सही है।

जवाबों:


51

यह ठीक लग रहा है। यद्यपि आप -zस्थानांतरण को संक्षिप्त करने के विकल्प का उपयोग क्यों कर रहे हैं ? इस विकल्प का उपयोग आम तौर पर तब किया जाता है जब आप किसी धीमी नेटवर्क पर दूरस्थ rsync सर्वर पर कॉपी कर रहे होते हैं। इस उदाहरण में यह संपीड़ित होगा और तुरंत उन फ़ाइलों को विघटित करेगा जो केवल आपके सीपीयू यूज को बिना किसी लाभ के बढ़ाएंगे।

-a(संग्रह) विकल्प का अर्थ है -rतो कोई जरूरत स्पष्ट रूप से कमांड लाइन पर कि निर्दिष्ट करने के लिए नहीं है (पुनरावर्ती) विकल्प।

आप अपनी कमांड को जांचने के लिए -nविकल्प (या --dry-run) का उपयोग कर सकते हैं । यह दिखाएगा कि वास्तव में किसी भी फाइल को कॉपी किए बिना यह क्या करेगा। वास्तव में क्या होता है यह देखने के लिए आपको -vविकल्प (या --verbose) का उपयोग करना चाहिए ।

इसलिए:

rsync -uanv /var/lib/mysql/mysql-bin.*  /dbdata/binarylog/

और एक बार जब आप खुश होते हैं कि फाइलें ड्राई-रन पर सही ढंग से सूचीबद्ध हैं, तो हटा दें nv:

rsync -ua --progress /var/lib/mysql/mysql-bin.*  /dbdata/binarylog/

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