फ़ाइलों की प्रतिलिपि बनाने के लिए rsync का उपयोग कैसे करें

How Use Rsync Copy Files



Rsync लिनक्स में एक कमांड-लाइन टूल है जिसका उपयोग स्रोत स्थान से गंतव्य स्थान पर फ़ाइलों की प्रतिलिपि बनाने के लिए किया जाता है। आप फ़ाइलों, निर्देशिकाओं और संपूर्ण फ़ाइल सिस्टम की प्रतिलिपि बना सकते हैं और विभिन्न निर्देशिकाओं के बीच फ़ाइलों को सिंक में रख सकते हैं। यह सिर्फ फाइलों को कॉपी करने से ज्यादा कुछ करता है। यह केवल नई या अपडेट की गई फ़ाइलों को भेजकर नेटवर्क पर भेजे गए डेटा की मात्रा को कम करता है। इसलिए इसे फाइल कॉपी और बैक अप के लिए एक बड़ी उपयोगिता माना जाता है। Rsync SSH पर दूरस्थ सिस्टम में फ़ाइलों की प्रतिलिपि बनाने का भी समर्थन करता है।

इस लेख में, हम कुछ व्यावहारिक उदाहरणों के साथ फाइलों की प्रतिलिपि बनाने के लिए rsync का उपयोग करने का तरीका बताएंगे। हम स्थानीय और दूरस्थ दोनों प्रणालियों के लिए एकल फ़ाइल, एकाधिक फ़ाइलों और निर्देशिका की प्रतिलिपि बनाने में rsync के उपयोग के बारे में भी बताएंगे। हम कवर करेंगे कि रुपये का उपयोग कैसे करें:







  • स्थानीय सिस्टम के भीतर फ़ाइल/निर्देशिका की प्रतिलिपि बनाएँ
  • फ़ाइल/निर्देशिका को स्थानीय से दूरस्थ सिस्टम में कॉपी करें
  • फ़ाइल/निर्देशिका को दूरस्थ सिस्टम से स्थानीय में कॉपी करें

हमने उबंटू 20.04 एलटीएस पर इस आलेख में उल्लिखित आदेशों और प्रक्रियाओं की व्याख्या की है। rsync का उपयोग करके फ़ाइलों की प्रतिलिपि बनाने के लिए आपको कमांड-लाइन टर्मिनल की आवश्यकता होगी। कमांड लाइन टर्मिनल एप्लिकेशन खोलने के लिए, Ctrl+Alt+T कीबोर्ड शॉर्टकट का उपयोग करें।



रुपये सिंक स्थापित करना

Ubuntu 20.04 LTS में Rsync पहले से इंस्टॉल आता है। हालाँकि, यदि इसे गलती से सिस्टम से हटा दिया जाता है, तो आप इसे निम्नानुसार स्थापित कर सकते हैं:



$सुडोउपयुक्तइंस्टॉलrsync

यहां कुछ सामान्य रूप से उपयोग किए जाने वाले विकल्प दिए गए हैं जिनका उपयोग rsync के साथ किया जा सकता है:





-ए: संग्रह मोड
-v: कॉपी करने की प्रक्रिया का विवरण दिखाता है
-पी: प्रगति पट्टी दिखाता है
-r: डेटा को पुनरावर्ती रूप से कॉपी करता है
-z: डेटा को संपीड़ित करता है
-क्यू: आउटपुट दबाएं

फ़ाइलों और निर्देशिकाओं को स्थानीय रूप से कॉपी करें

rsync का सामान्य सिंटैक्स है:



$rsync[विकल्प] [स्रोत] [गंतव्य]

एक फ़ाइल को स्थानीय रूप से कॉपी करें

यदि आप अपने सिस्टम में किसी फ़ाइल को एक स्थान से दूसरे स्थान पर कॉपी करना चाहते हैं, तो आप टाइप करके ऐसा कर सकते हैं rsync स्रोत फ़ाइल नाम और गंतव्य निर्देशिका के बाद।

उदाहरण के लिए, एक फ़ाइल file1.txt को वर्तमान स्थान से कॉपी करने के लिए जो कि होम निर्देशिका है ~/दस्तावेज़ निर्देशिका में, आदेश होगा:

$rsync/घर/मानना/file1.txt/घर/मानना/दस्तावेज़

नोट: /home/tin/file1.txt के बजाय, हम file1 भी टाइप कर सकते हैं क्योंकि हम वर्तमान में होम डायरेक्टरी में काम कर रहे हैं। साथ ही, हम पूर्ण पथ को /home/tin/Documents के रूप में उल्लिखित करने के बजाय ~/दस्तावेज़ों का उपयोग कर सकते हैं।

कई फाइलों को स्थानीय रूप से कॉपी करें

यदि आप अपने सिस्टम में एक स्थान से दूसरे स्थान पर एक साथ कई फाइलों को कॉपी करना चाहते हैं, तो आप टाइप करके ऐसा कर सकते हैं rsync स्रोत फ़ाइलों का नाम और गंतव्य निर्देशिका के बाद।

उदाहरण के लिए, फाइलों को फाइल2.txt और file3.txt को होम डायरेक्टरी से ~/Documents डायरेक्टरी में कॉपी करने के लिए कमांड होगी:

$rsync/घर/मानना/file2.txt/घर/मानना/file3.txt/घर/मानना/दस्तावेज़

एक ही एक्सटेंशन वाली सभी फाइलों को कॉपी करने के लिए, आप अलग-अलग फाइल नामों को निर्दिष्ट करने के बजाय तारांकन चिह्न (*) का उपयोग कर सकते हैं। उदाहरण के लिए, .zip एक्सटेंशन के साथ समाप्त होने वाली होम निर्देशिका से ~/दस्तावेज़ निर्देशिका में सभी फ़ाइलों की प्रतिलिपि बनाने के लिए, हम इसका उपयोग करेंगे:

$rsync/घर/मानना/ *.ज़िप ~/दस्तावेज़

निर्देशिकाओं को स्थानीय रूप से कॉपी करें

यदि आप किसी निर्देशिका को उसकी उप-निर्देशिका और सभी सामग्री को अपने सिस्टम के भीतर एक स्थान से दूसरे स्थान पर कॉपी करना चाहते हैं, तो आप ऐसा टाइप करके कर सकते हैं rsync स्रोत और गंतव्य निर्देशिका के बाद।

उदाहरण के लिए, नमूना निर्देशिका को होम निर्देशिका के भीतर परीक्षण/निर्देशिका में कॉपी करने के लिए, आदेश होगा:

$rsync-का /घर/मानना/नमूना/घर/मानना/परीक्षण

नोट: निर्दिष्ट / स्रोत निर्देशिका के बाद केवल निर्देशिका की सामग्री की प्रतिलिपि बनाता है। यदि हम स्रोत निर्देशिका के बाद / निर्दिष्ट नहीं करते हैं, तो स्रोत निर्देशिका को भी गंतव्य निर्देशिका में कॉपी किया जाएगा।

निम्न आउटपुट की तरह, आप देख सकते हैं कि हमारी स्रोत निर्देशिका नमूना भी गंतव्य निर्देशिका में कॉपी किया गया है (जैसा कि हमने नमूना के बजाय नमूना/स्रोत निर्देशिका के रूप में उपयोग किया है)।

Rsync वृद्धिशील स्थानांतरण का समर्थन करता है जैसा कि आप उपरोक्त आउटपुट में देख सकते हैं कि यह केवल उन फ़ाइलों को स्थानांतरित करता है जो नई या अद्यतन हैं।

अधिकतम आकार के आधार पर फ़ाइलें कॉपी करें

कॉपी करते समय, हम उन फाइलों के अधिकतम आकार को भी निर्दिष्ट कर सकते हैं जिन्हें -मैक्स-साइज विकल्प के साथ कॉपी किया जा सकता है। उदाहरण के लिए, ~/डाउनलोड से ~/दस्तावेज़ निर्देशिका में 2000k से बड़ी फ़ाइलों की प्रतिलिपि बनाने के लिए, आदेश होगा:

$rsync-प्रति --अधिकतम आकार=2000k/घर/मानना/डाउनलोड/ * /घर/मानना/दस्तावेज़

यह आदेश 2000k से बड़ी फ़ाइलों को छोड़कर ~/डाउनलोड से ~/दस्तावेज़ निर्देशिका में सभी फ़ाइलों की प्रतिलिपि बनाएगा।

न्यूनतम आकार के आधार पर फ़ाइलें कॉपी करें

इसी तरह, हम फाइलों के न्यूनतम आकार को भी निर्दिष्ट कर सकते हैं जिन्हें -मिन-साइज विकल्प के साथ कॉपी किया जा सकता है। उदाहरण के लिए, ~/डाउनलोड से ~/दस्तावेज़ निर्देशिका में 5M से कम की फ़ाइलों की प्रतिलिपि बनाने के लिए, आदेश होगा:

$rsync-प्रति --मिन-आकार=5एम/घर/मानना/डाउनलोड/ /घर/मानना/दस्तावेज़

यह कमांड ~/डाउनलोड से ~/दस्तावेज़ निर्देशिका में 5M से कम फ़ाइलों को छोड़कर सभी फ़ाइलों की प्रतिलिपि बनाएगा।

फ़ाइलें बहिष्कृत करें

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

उदाहरण के लिए, ~/डाउनलोड से ~/दस्तावेज़ निर्देशिका में फ़ाइलों की प्रतिलिपि बनाते समय सभी .zip फ़ाइलों को बाहर करने के लिए, आदेश होगा:

$rsync-प्रति --निकालना='*.ज़िप' /घर/मानना/डाउनलोड/ /घर/मानना/दस्तावेज़

फ़ाइलों और निर्देशिकाओं को दूरस्थ रूप से कॉपी करें

Rsync के साथ, आप किसी एकल फ़ाइल, एकाधिक फ़ाइलों और निर्देशिकाओं को दूरस्थ सिस्टम में कॉपी कर सकते हैं। फ़ाइलों और निर्देशिकाओं को दूरस्थ रूप से कॉपी करने के लिए, आपको आवश्यकता होगी:

  • स्थानीय और दूरस्थ सिस्टम दोनों पर रुपये सिंक स्थापित
  • रिमोट सिस्टम तक एसएसएच एक्सेस
  • रिमोट यूजर पासवर्ड

rsync का उपयोग करके फ़ाइलों की प्रतिलिपि बनाने से पहले, सुनिश्चित करें कि आप SSH के माध्यम से दूरस्थ सिस्टम तक पहुँच सकते हैं:

$एसएसएचओरिमोट_यूसर@दूरदराज़ के आई. पी


फ़ाइलों और निर्देशिकाओं को rsync का उपयोग करके दूरस्थ सिस्टम में कॉपी करने के लिए सामान्य सिंटैक्स:

$rsync[विकल्प] [स्रोत] [रिमोट उपयोक्ता@रिमोटिप:गंतव्य]

उदाहरण के लिए, एक फ़ाइल file.txt को ~/डाउनलोड से रिमोट सिस्टम ~/दस्तावेज़ निर्देशिका में कॉपी करने के लिए, आदेश होगा:

$rsync-वी~/डाउनलोड/file1.txt उमरा@१९२.१६८.७२.१६४:~/दस्तावेज़

इसी तरह, स्थानीय सिस्टम में ~/डाउनलोड/फाइल डायरेक्टरी को उसकी सब-डायरेक्टरी के साथ कॉपी करने के लिए और सभी कंटेंट को रिमोट सिस्टम पर ~/डाउनलोड्स/सैंपल्स डायरेक्टरी में कॉपी करने के लिए:

$rsync-आरवी~/डाउनलोड/फ़ाइलें उमरा@१९२.१६८.७२.१६४:~/डाउनलोड/नमूने

आप फ़ाइलों और निर्देशिकाओं को दूरस्थ मशीन से अपनी स्थानीय मशीन पर भी कॉपी कर सकते हैं। उदाहरण के लिए, किसी file2.txt को दूरस्थ सिस्टम से स्थानीय सिस्टम डेस्कटॉप पर कॉपी करने के लिए:

$rsync-वीउमराह@१९२.१६८.७२.१६४:~/डाउनलोड/file2.txt ~/डेस्कटॉप/

इसी तरह, दूरस्थ सिस्टम से स्थानीय सिस्टम में निर्देशिका की प्रतिलिपि बनाने के लिए

$rsync-आरवीउमराह@१९२.१६८.७२.१६४:~/डाउनलोड/नमूना ~/डेस्कटॉप/परीक्षण

आप रिमोट सिस्टम से फाइल कॉपी करते समय -मैक्स-साइज, -मिन-साइज, -बहिष्कृत और अन्य जैसे सभी विकल्पों का उपयोग कर सकते हैं।

स्थानीय या दूरस्थ रूप से स्रोत से गंतव्य तक फ़ाइलों की प्रतिलिपि बनाने के लिए रुपये एक महान उपकरण है। इसमें विकल्पों का एक बड़ा सेट शामिल है जो आपको रिमोट सिस्टम से/फाइलों को स्थानांतरित करते समय लचीलापन और नियंत्रण प्रदान करता है।