मुखपृष्ठ » कैसे » Rsync से फ़ाइलों को कैसे निकालें

    Rsync से फ़ाइलों को कैसे निकालें

    Rsync सर्वर व्यवस्थापक के लिए सबसे उपयोगी उपयोगिताओं में से एक है, लेकिन यह सिंक करता है सब कुछ डिफ़ॉल्ट रूप से, यदि आपका एप्लिकेशन बहुत सारी अस्थायी फ़ाइलें बनाता है तो यह कष्टप्रद हो सकता है। यहाँ rsync का उपयोग करते समय फ़ाइलों को बाहर करने का तरीका बताया गया है.

    किसी फ़ाइल में सूची से बाहर करना

    यह फ़ाइलों और फ़ोल्डरों को बाहर करने के लिए आदर्श विधि है, क्योंकि आप हमेशा सूची को संपादित कर सकते हैं और यदि आवश्यक हो तो चीजों को मोड़ सकते हैं। यहाँ वाक्य रचना है:

    rsync --को बाहर-से = / path / to / एक्सक्लूजन-फ़ाइल / पाथ / टू / सोर्स / पाथ / टू / डेस्ट

    Rsync के साथ मुश्किल बात यह है कि जब आप चीजों को बाहर करने की कोशिश कर रहे हैं तो आपको एक रिश्तेदार पथ का उपयोग करने की आवश्यकता है, क्योंकि जब यह बहिष्करण से मेल खाने की कोशिश करता है तो यह मैच के लिए पथ के पहले भाग का उपयोग नहीं करेगा ... यह अजीब है.

    उदाहरण के लिए, आप बैकअप / डेटा / वेब / के लिए कोशिश कर रहे हैं और इसे दूसरे सर्वर पर भेज रहे हैं, इसलिए आप इसे बनाने के लिए rsync -a / data / web / user @ सर्वर जैसी कमांड का उपयोग करते हैं: / backups / data / web / ऐसा होता है ... लेकिन आप वास्तव में / डेटा / वेब / कैश / फ़ोल्डर को सिंक्रनाइज़ करना छोड़ना चाहते हैं। जब rsync प्रत्येक आइटम के लिए आपकी बहिष्करण सूची की जाँच करने के लिए जाता है, जिसे वह सिंक करता है, तो यह / data / web / cache / को चेक नहीं करेगा क्योंकि आपकी मूल rsync कमांड / data / web / folder में आधारित है। यह सिर्फ सूची के खिलाफ "कैश /" की जाँच करेगा। तो आपको सूची में "कैश" डालने की आवश्यकता होगी, न कि पूर्ण पथ। उदाहरण:

    rsync -a --exclude-from = / डेटा / बहिष्करण / डेटा / वेब / / बैकअप /

    अब इस आदेश का उपयोग करके / डेटा / वेब / कैश और / डेटा / वेब / अस्थायी को rsync से बाहर करने के लिए, हम / डेटा / वेब / पथ के हिस्से को हटा देंगे और / डेटा / बहिष्करण फ़ाइल को बस इसमें शामिल करेंगे:

    कैश * अस्थायी *

    आप ध्यान दें कि मैंने रास्ते में * जोड़ा, यह सुनिश्चित करने के लिए कि यह शुरुआत में "कैश" से शुरू होने वाली किसी भी चीज़ से मेल खाता है। यदि आप चाहते थे तो आप इस स्टार पैटर्न का उपयोग अधिक उपयोगी कारणों से कर सकते हैं - कहते हैं कि आप सभी .txt फ़ाइलों को सिंक नहीं करना चाहते हैं। आप यह सुनिश्चित करने के लिए स्टार के साथ पैटर्न शुरू करेंगे कि हमेशा मेल खाता है, और इसे जोड़ें:

    *।टेक्स्ट

    यह सुनिश्चित करेगा कि सिंक के दौरान उन प्रकार की फाइलें छोड़ दी जाती हैं। यह उससे परे बहुत सरल है.

    किसी एक वस्तु को छोड़कर

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

    rsync --exclude = रिश्तेदार / पथ / से / बहिष्करण / स्रोत / भाग्य

    ऊपर के रूप में एक ही सापेक्ष पथ यहां लागू होना चाहिए.