एंड्रॉयड

कैसे ss पर rsync के साथ फ़ाइलों को स्थानांतरित करने के लिए

लिनक्स स्वचालित बैकअप - भाग 2 - SSH और Rsync सेटअप

लिनक्स स्वचालित बैकअप - भाग 2 - SSH और Rsync सेटअप

विषयसूची:

Anonim

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

डेटा ट्रांसफर के लिए सबसे लोकप्रिय प्रोटोकॉल SSH और FTP हैं। जबकि FTP बहुत लोकप्रिय है, हमेशा SSH का उपयोग करना पसंद करते हैं क्योंकि यह आपकी फ़ाइलों को स्थानांतरित करने का सबसे सुरक्षित तरीका है।

SSH पर फ़ाइल स्थानांतरण के लिए विशेष उपकरण हैं जैसे कि scp और sftp लेकिन उनमें से किसी में भी वे सभी सुविधाएँ नहीं हैं जो rsync प्रदान करता है। rsync का उपयोग डेटा, वृद्धिशील बैकअप को मिरर करने के लिए, सिस्टम के बीच फाइलों को कॉपी करने के लिए और इसी तरह किया जा सकता है।

इस ट्यूटोरियल में, हम SSH पर rsync साथ फाइल कॉपी करने का तरीका बताएंगे।

आवश्यकताएँ

  • गंतव्य और स्रोत सिस्टम दोनों पर rsync उपयोगिता स्थापित होनी चाहिए। यदि यह स्थापित नहीं है, तो आप इसे अपने वितरण के पैकेज मैनेजर का उपयोग करके स्थापित कर सकते हैं:

    उबंटू और डेबियन:

    sudo apt install rsync

    CentOS और फेडोरा:

    sudo yum install rsync

    एसएसएच दूरस्थ कंप्यूटर तक पहुंच।

    rsync आदेश और दूरस्थ SSH उपयोगकर्ता चलाने वाले उपयोगकर्ता के पास फ़ाइलों को पढ़ने और लिखने के लिए उपयुक्त अनुमति होनी चाहिए।

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

rsync साथ, आप SSH से अधिक फ़ाइलों और निर्देशिकाओं को दूरस्थ सर्वर से स्थानांतरित कर सकते हैं।

rsync साथ फ़ाइलों को स्थानांतरित करने के लिए सामान्य वाक्यविन्यास निम्नानुसार है:

Local to Remote: rsync… -e ssh… HOST:DEST Remote to Local: rsync… -e ssh HOST:SRC…

जहाँ SRC स्रोत निर्देशिका है, DEST गंतव्य निर्देशिका है USER दूरस्थ SSH उपयोगकर्ता नाम है और HOST दूरस्थ SSH होस्ट या IP पता है।

Rsync के नए संस्करणों को SSH को डिफ़ॉल्ट दूरस्थ शेल के रूप में उपयोग करने के लिए कॉन्फ़िगर किया गया है ताकि आप -e ssh विकल्प को छोड़ सकें।

उदाहरण के लिए, स्थानीय प्रणाली से /var/www/ निर्देशिका के लिए एक एकल फ़ाइल /opt/file.zip को दूरस्थ प्रणाली पर IP 12.12.12.12 साथ स्थानांतरित करने के लिए जिसे आप चलाएंगे:

rsync -a /opt/file.zip [email protected]:/var/www/

-a विकल्प आर्काइव मोड के लिए खड़ा है जो निर्देशिकाओं को पुनरावर्ती रूप से सिंक करेगा, विशेष और ब्लॉक उपकरणों को स्थानांतरित करेगा, प्रतीकात्मक लिंक, संशोधन समय, समूह, स्वामित्व और अनुमतियों को संरक्षित करेगा।

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

rsync -a /opt/file.zip [email protected]:/var/www/file2.zip

दूरस्थ से डेटा को स्थानीय मशीन में स्थानांतरित करने के लिए, दूरस्थ स्थान को स्रोत और स्थानीय स्थान को गंतव्य के रूप में उपयोग करें:

rsync -a [email protected]:/var/www/file.zip /opt/

SSH पर rsync साथ निर्देशिकाओं को स्थानांतरित करना फ़ाइलों को स्थानांतरित करने के समान है।

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

उदाहरण के लिए, स्थानीय /opt/website/images/ निर्देशिका को /var/www/images/ निर्देशिका को किसी दूरस्थ मशीन पर स्थानांतरित करने के लिए जिसे आप चाहेंगे:

rsync -a /home/linuxize/images/ [email protected]:/var/www/images/

यदि आप स्थानीय और दूरस्थ निर्देशिका को सिंक्रोनाइज़ करना चाहते हैं तो --delete विकल्प का उपयोग करें। इस विकल्प का उपयोग करते समय सावधान रहें क्योंकि यह गंतव्य निर्देशिका में फ़ाइलों को हटा देगा यदि वे स्रोत निर्देशिका में मौजूद नहीं हैं।

rsync -a --delete /home/linuxize/images/ [email protected]:/var/www/images/

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

rsync -a -e "ssh -p 3322" /home/linuxize/images/ [email protected]:/var/www/images/

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

rsync -a -P /home/linuxize/images/ [email protected]:/var/www/images/

निष्कर्ष

हमने आपको फ़ाइलों और निर्देशिकाओं को कॉपी और सिंक्रनाइज़ करने के लिए SSH पर rsync का उपयोग करने का तरीका दिखाया है।

आप यह भी पढ़ना चाहते हैं कि rsync साथ फ़ाइलों या निर्देशिकाओं को कैसे rsync

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

rsync टर्मिनल