एंड्रॉयड

स्थानीय और दूरस्थ डेटा हस्तांतरण और सिंक्रनाइज़ेशन के लिए rsync का उपयोग कैसे करें

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

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

विषयसूची:

Anonim

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

Rsync को डेटा, वृद्धिशील बैकअप, सिस्टम के बीच फ़ाइलों की प्रतिलिपि बनाने और प्रतिदिन उपयोग के लिए scp , sftp और cp कमांड के प्रतिस्थापन के रूप में उपयोग किया जा सकता है।

इस ट्यूटोरियल में, हम आपको दिखाएंगे कि व्यावहारिक उदाहरणों के माध्यम से rsync का उपयोग कैसे करें और सबसे सामान्य rsync विकल्पों की विस्तृत व्याख्या करें।

Rsync स्थापित कर रहा है

rsync उपयोगिता अधिकांश लिनक्स वितरण और macOS पर पूर्व-स्थापित है। आप यह जांच कर सकते हैं कि क्या यह आपके सिस्टम पर टाइप करके स्थापित किया गया है:

rsync --version

rsync version 3.1.2 protocol version 31

Ubuntu और डेबियन पर Rsync स्थापित करें

sudo apt install rsync

CentOS और Fedora पर Rsync स्थापित करें

sudo yum install rsync

Rsync कमांड सिंटैक्स

rsync कमांड का उपयोग करने के तरीके में जाने से पहले, आइए मूल सिंटैक्स की समीक्षा करके शुरू करें।

rsync उपयोगिता अभिव्यक्तियाँ निम्न रूप लेती हैं:

Local to Local: rsync…… DEST Local to Remote: rsync…… HOST:DEST Remote to Local: rsync… HOST:SRC…

  • OPTION - rsync विकल्प। SRC - स्रोत निर्देशिका। DEST - गंतव्य निर्देशिका। USER - दूरस्थ उपयोगकर्ता नाम। HOST - दूरस्थ होस्टनाम ओ.टी. आईपी एड्रेस।

rsync इसके व्यवहार के हर पहलू को नियंत्रित करने वाले कई विकल्प प्रदान करता है। सबसे व्यापक रूप से उपयोग किए जाने वाले विकल्प हैं:

  • -a , --archive , संग्रह मोड, -rlptgoD बराबर। यह विकल्प rsync को निर्देशिकाओं को पुनरावर्ती रूप से सिंक करने के लिए कहता है, विशेष और ब्लॉक उपकरणों को स्थानांतरित करता है, प्रतीकात्मक लिंक, संशोधन समय, समूह, स्वामित्व और अनुमतियों को संरक्षित करता है। -z , --compress । यह विकल्प डेटा को संपीड़ित करने के लिए rsync को बाध्य करेगा क्योंकि इसे गंतव्य मशीन पर भेजा जाता है। इस विकल्प का उपयोग केवल तभी करें जब दूरस्थ मशीन का कनेक्शन धीमा हो। -P , समकक्ष - समान --partial --progress । जब इस विकल्प का उपयोग किया जाता है rsync स्थानांतरण के दौरान प्रगति पट्टी दिखाएगा और आंशिक रूप से स्थानांतरित फ़ाइलों को रखने के लिए। धीमी या अस्थिर नेटवर्क कनेक्शन पर बड़ी फ़ाइलों को स्थानांतरित करते समय यह उपयोगी है। --delete । इस विकल्प का उपयोग करते समय rsync गंतव्य स्थान से बाहर निकलने वाली फ़ाइलों को हटा देगा। यह मिररिंग के लिए उपयोगी है। --quiet , --quiet । यदि आप गैर-त्रुटि संदेशों को दबाना चाहते हैं तो इस विकल्प का उपयोग करें। -e यह विकल्प आपको एक अलग दूरस्थ शेल चुनने की अनुमति देता है। डिफ़ॉल्ट रूप से, rsync का उपयोग करने के लिए rsync कॉन्फ़िगर किया गया है।

बेसिक रुपी उपयोग

एक फ़ाइल को एक से दूसरे स्थानीय स्थान पर कॉपी करने के लिए आप निम्नलिखित कमांड चलाएंगे:

rsync -a /opt/filename.zip /tmp/

कमांड चलाने वाले उपयोगकर्ता को गंतव्य स्थान पर अनुमतियाँ पढ़ना चाहिए और गंतव्य पर अनुमतियाँ लिखना चाहिए।

गंतव्य स्थान से फ़ाइल नाम को छोड़ते हुए फ़ाइल को वर्तमान नाम से कॉपी करता है। यदि आप फ़ाइल को किसी अन्य नाम से सहेजना चाहते हैं, तो गंतव्य भाग पर नया नाम निर्दिष्ट करें:

rsync -a /opt/filename.zip /tmp/newfilename.zip

नीचे दिए गए उदाहरण में हम अपनी वेबसाइट फ़ाइलों का स्थानीय बैकअप बना रहे हैं:

rsync -a /var/www/domain.com/public_html/ /var/www/domain.com/public_html_backup/

यदि गंतव्य निर्देशिका मौजूद नहीं है तो rsync इसे बनाएगा।

यह उल्लेखनीय है कि rsync स्रोत निर्देशिकाओं को अनुगामी स्लैश / साथ अलग-अलग उपचार देता है। यदि आप स्रोत निर्देशिका पर एक अनुगामी स्लैश जोड़ते हैं, तो यह केवल निर्देशिका की सामग्री को गंतव्य निर्देशिका में कॉपी करेगा। जब अनुगामी स्लैश को छोड़ दिया जाता है rsync गंतव्य निर्देशिका के अंदर स्रोत निर्देशिका की प्रतिलिपि बनाएगा।

किसी सिंक मशीन से / से सिंक डेटा को रु। का उपयोग कैसे करें

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

निम्नलिखित उदाहरण में, हम एक निर्देशिका को एक स्थानीय से रिमोट मशीन में स्थानांतरित कर रहे हैं:

rsync -a /opt/media/ remote_user@remote_host_or_ip:/opt/media/ यदि आपने दूरस्थ मशीन पर पासवर्ड रहित SSH लॉगिन सेट नहीं किया है, तो आपको उपयोगकर्ता पासवर्ड दर्ज करने के लिए कहा जाएगा।

यदि आप किसी स्थानीय मशीन से रिमोट से डेटा ट्रांसफर करना चाहते हैं तो आपको एक सोर्स के रूप में रिमोट लोकेशन का उपयोग करना होगा:

rsync -a remote_user@remote_host_or_ip:/opt/media/ /opt/media/

यदि दूरस्थ होस्ट पर SSH डिफ़ॉल्ट 22 के अलावा किसी पोर्ट पर सुन रहा है तो आप -e विकल्प का उपयोग करके पोर्ट निर्दिष्ट कर सकते हैं:

rsync -a -e "ssh -p 2322" /opt/media/ remote_user@remote_host_or_ip:/opt/media/

बड़ी मात्रा में डेटा ट्रांसफर करते समय स्क्रीन सेशन के अंदर rsync कमांड को चलाने या -P विकल्प का उपयोग करने की सिफारिश की जाती है:

rsync -a -P remote_user@remote_host_or_ip:/opt/media/ /opt/media/

फ़ाइलों और निर्देशिकाओं को छोड़ दें

जब फ़ाइलों या निर्देशिकाओं को छोड़कर आपको स्रोत स्थान पर उनके सापेक्ष पथ का उपयोग करने की आवश्यकता होती है।

फ़ाइलों और निर्देशिकाओं को बाहर करने के लिए दो विकल्प हैं। पहला विकल्प --exclude तर्क का उपयोग करना और उन फ़ाइलों और निर्देशिकाओं को निर्दिष्ट करना है जिन्हें आप कमांड लाइन पर बाहर करना चाहते हैं।

निम्नलिखित उदाहरण में, हम node_modules और tmp निर्देशिकाओं को बाहर कर रहे हैं जो src_directory अंदर स्थित हैं:

rsync -a --exclude=node_modules --exclude=tmp /src_directory/ /dst_directory/

दूसरा विकल्प --exclude-from तर्क का उपयोग करना है और उन फ़ाइलों और निर्देशिकाओं को निर्दिष्ट करना है जिन्हें आप किसी फ़ाइल में बाहर करना चाहते हैं।

rsync -a --exclude-from='/exclude-file.txt' /src_directory/ /dst_directory/ /exclude-file.txt

node_modules tmp

निष्कर्ष

इस ट्यूटोरियल में, आपने सीखा कि फाइलों और निर्देशिकाओं को कॉपी और सिंक्रोनाइज़ करने के लिए Rsync का उपयोग कैसे किया जाता है। Rsync के बारे में जानने के लिए बहुत अधिक है Rsync उपयोगकर्ता के मैनुअल पेज पर।

यदि आपके कोई प्रश्न हैं, तो टिप्पणी छोड़ने के लिए स्वतंत्र महसूस करें।

rsync टर्मिनल