विंडोमैकसॉफ्टवेयरसेटिंग्ससुरक्षाउत्पादकतालिनक्सएंड्रॉइडप्रदर्शनकॉन्फ़िगरेशनएप्पल सभी

rsync का बैकअप और समकालिनीकरण के लिए उपयोग कैसे करें

संपादित 2 घंटे पहले द्वारा ExtremeHow संपादकीय टीम

बैकअपकमांड लाइनफ़ाइलेंसमकालिकीकरणडेटा प्रबंधनउपयोगिताएँस्क्रिप्टिंगसुरक्षासंग्रहणस्थानांतरण

rsync का बैकअप और समकालिनीकरण के लिए उपयोग कैसे करें

अनुवाद अपडेट किया गया 2 घंटे पहले

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

rsync की मूल बातें समझना

Rsync का उपयोग लोकल फाइल्स के साथ-साथ रिमोट होस्ट पर फाइल्स को स्थानांतरित करने के लिए किया जा सकता है। rsync कमांड की मूल संरचना इस प्रकार है:

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

यहां, स्रोत वह स्थान है जहाँ से आप फाइल्स को स्थानांतरित करना चाहते हैं, और गंतव्य वह स्थान है जहाँ आप उन्हें स्थानांतरित करना चाहते हैं।

इंस्टॉलेशन

Rsync आमतौर पर अधिकांश लिनक्स वितरणों पर पहले से स्थापित होता है। यह जांचने के लिए कि क्या यह स्थापित है, आप टाइप कर सकते हैं:

rsync --version

यदि Rsync स्थापित नहीं है, तो आप अपने ऑपरेटिंग सिस्टम के पॅकेज प्रबंधक का उपयोग करके इसे जोड़ सकते हैं। उदाहरण के लिए, एक डेबियन-आधारित सिस्टम पर, आप इसका उपयोग करेंगे:

sudo apt-get install rsync

रेड हैट-आधारित सिस्टम पर, आप इसे इंस्टॉल कर सकते हैं:

sudo yum install rsync

rsync का साधारण उपयोग

Rsync का प्राथमिक कार्य फाइल्स और निर्देशिकाओं का समकालिनीकरण करना है। उदाहरण के लिए, source_directory से destination_directory तक सभी फाइल्स को कॉपी करने के लिए, आप निम्नलिखित कमांड का उपयोग कर सकते हैं:

rsync -avzh /path/to/source_directory/ /path/to/destination_directory/

आइए इस कमांड में उपयोग किए गए विकल्पों का विश्लेषण करें:

ध्यान दें कि source_directory/ में अंतिम स्लैश यह सुनिश्चित करता है कि केवल निर्देशिका की सामग्री कॉपी हो, न कि निर्देशिका स्वयं।

SSH पर Rsync

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

rsync -avz -e "ssh" user@remote_host:/path/to/remote_directory/ /path/to/local_directory/

यह कमांड -e विकल्प का उपयोग करके रिमोट शेल प्रोग्राम (इस मामले में SSH) निर्दिष्ट करता है।

इसी तरह, लोकल सिस्टम से रिमोट सर्वर पर फाइल्स कॉपी करने के लिए, source और destination तर्कों को बदलें:

rsync -avz /path/to/local_directory/ user@remote_host:/path/to/remote_directory/

यदि आपका SSH एक अलग पोर्ट का उपयोग करता है (डिफॉल्ट 22 के अलावा), तो आप इसे निर्दिष्ट कर सकते हैं:

rsync -avz -e "ssh -p 2222" /path/to/local_directory/ user@remote_host:/path/to/remote_directory/

हटाने का प्रबंधन

निर्देशिकाओं को समकालिनीकरण करते समय, आप चाहते हैं कि गंतव्य निर्देशिका स्रोत निर्देशिका की सटीक रूपरेखा हो, जिसमें हटाना भी शामिल है। --delete विकल्प को इस प्रयोजन के लिए इस्तेमाल किया जा सकता है:

rsync -avz --delete /path/to/source_directory/ /path/to/destination_directory/

--delete के साथ, Rsync गंतव्य पर उन फाइल्स को हटा देगा जो स्रोत पर मौजूद नहीं हैं।

बड़े फाइल्स सेट का प्रबंधन

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

rsync -avz /path/to/source/ /path/to/destination/ &

चेकसम समय बचाते हैं

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

rsync -avzc /path/to/source/ /path/to/destination/

-c विकल्प Rsync को एक चेकसम तुलना करने देगा, जो अधिक समय ले सकता है, लेकिन सुनिश्चित करता है कि प्रत्येक स्थानांतरित फाइल समान है।

विशिष्ट फाइल प्रकार

आप Rsync को विशिष्ट फाइल प्रकारों को शामिल या बाहर करने के लिए बता सकते हैं, इसके लिए include और exclude विकल्प का उपयोग किया जाता है। उदाहरण के लिए, केवल टेक्स्ट फाइलों को समकालीन करने के लिए, आप टाइप कर सकते हैं:

rsync -avz --include '*.txt' --exclude '*' /path/to/source/ /path/to/destination/

यहां, --include Rsync को केवल .txt फाइलों को शामिल करने को कहता है, और --exclude सभी अन्य को छोड़ने को कहता है।

बैकअप फाइल्स की प्रगति लॉगिंग

एक बैकअप ऑपरेशन के दौरान, यह जानना महत्वपूर्ण हो सकता है कि क्या स्थानांतरित हुआ और कब। Rsync के पास इसके लिए एक विकल्प है:

rsync -avz --log-file=rsync.log /path/to/source/ /path/to/destination/

यह कमांड rsync.log फाइल में लॉग्स उत्पन्न करता है या उन्हें जोड़ता है।

उन्नत उपयोग

उन उपयोगकर्ताओं के लिए जिन्हें बुनियादी फीचर्स से अधिक की आवश्यकता होती है, Rsync उन्नत विकल्प प्रदान करता है। उदाहरण के लिए, आप --bwlimit विकल्प का उपयोग करके ट्रांसफर की अधिकतम गति निर्धारित करने के लिए बैंडविड्थ सीमाएँ सेट कर सकते हैं:

rsync -avz --bwlimit=1000 /path/to/source/ /path/to/destination/

यह बैंडWIDTH को 1000 KB/s तक सीमित कर देगा।

डे़मन की तरह चलाना

Rsync एक डेमन के रूप में कार्य कर सकता है, जो बैकग्राउंड सेवा के रूप में चलता है ताकि क्लाइंट बड़े सेटअप या स्क्रिप्ट-चालित कार्यों के लिए कनेक्ट हो सकें। इसको सक्षम करने के लिए, rsyncd.conf फाइल में कुछ विन्यास की आवश्यकता होती है। उदाहरण के लिए:

[backup] path = /path/to/share comment = Backup Directory read only = no list = yes uid = root gid = root auth users = username secrets file = /path/to/rsyncd.secrets

डेमन मोड में, Rsync SSH की आवश्यकता के बिना अनुरोधों के लिए सुनता है। हालांकि, इस सेटअप को एक फ़ायरवॉल और प्रमाणीकरण विधियों के साथ सुरक्षित करना सुनिश्चित करें।

स्वचालन

नियमित बैकअप के लिए, Rsync को लिनक्स में क्रॉन जॉब्स का उपयोग करके स्वचालित किया जा सकता है। यह सुनिश्चित करता है कि निर्दिष्ट समय पर बिना किसी मैन्युअल इनपुट के बैकअप होता है। उदाहरण के लिए, 2 AM पर दैनिक बैकअप सेट करने के लिए, क्रॉनटैब फाइल को निम्नलिखित का उपयोग करके संपादित करें:

crontab -e

निम्नलिखित पंक्ति जोड़ें:

0 2 * * * rsync -avz /path/to/source/ /path/to/destination/

यह क्रॉन जॉब हर दिन 2 AM पर Rsync कमांड को निष्पादित करेगा।

निष्कर्ष

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

यदि आपको लेख की सामग्री में कुछ गलत लगता है, आप कर सकते हैं


टिप्पणियाँ