कभी अपना डेटा खोने के बारे में चिंता करते हैं, या दैनिक या साप्ताहिक मैन्युअल बैकअप करते-करते थक गए हैं? उपयोग rsync
कमांड और स्वचालित रूप से आपकी स्थानीय फ़ाइलों को बिना किसी मैन्युअल हस्तक्षेप के जितनी बार चाहें रिमोट सर्वर से सिंक करें। कृपया ध्यान दें, इस गाइड को दूरस्थ लिनक्स सर्वर तक पहुंच की आवश्यकता है (उदाहरण के लिए। एडब्ल्यूएस), और उबंटू 20.04 के तहत लिखा गया है, हालांकि किसी भी लिनक्स डिस्ट्रो को ठीक काम करना चाहिए।
rsync स्थापित करें
कुछ भी करने से पहले, जांचें कि क्या है या नहीं rsync
स्थापित है। अपने स्थानीय पीसी और वेब सर्वर दोनों पर थी कमांड चलाएँ:
rsync --संस्करण
यदि आपको बदले में वर्तमान rsync संस्करण मिलता है, तो आप अगले भाग के लिए पूरी तरह तैयार हैं। अन्यथा, यदि आप प्राप्त करते हैं यह कमांड नहीं मिला त्रुटि, आप स्थापित कर सकते हैं rsync
इस आदेश के साथ:
sudo apt-get -y rsync स्थापित करें
एसएसएच कुंजी उत्पन्न करें
हम a. का उपयोग करेंगे एसएसएच कुंजी हमारे स्थानीय पीसी और रिमोट सर्वर के बीच कनेक्शन को प्रमाणित करने के लिए। टर्मिनल के भीतर अपने स्थानीय पीसी पर एक नई SSH कुंजी उत्पन्न करने के लिए कमांड चलाएँ:
अपने Linux कंप्यूटर या सर्वर को दूरस्थ रूप से एक्सेस करने की आवश्यकता है? यहां लिनक्स, विंडोज और मोबाइल पर एसएसएच को सेट और कॉन्फ़िगर करने का तरीका बताया गया है।
ssh-keygen -t rsa -b 4096 -f ~/.ssh/rsync.key
जब पासवर्ड के लिए कहा जाए, तो उसे खाली छोड़ दें और एंटर की को दो बार हिट करें। यह आपके भीतर दो नई फाइलें उत्पन्न करेगा ~/.ssh/
निर्देशिका नाम rsync.कुंजी
जो निजी कुंजी है, और rsync.key.pub
, सार्वजनिक कुंजी।
सेटअप रिमोट सर्वर
हालांकि इसकी आवश्यकता नहीं है, इस गाइड के लिए हम a. बनाएंगे नया उपयोगकर्ता दूरस्थ सर्वर पर rsync कनेक्शन के लिए और सभी बैकअप फ़ाइलों को संग्रहीत करने के लिए। SSH के माध्यम से दूरस्थ सर्वर में लॉगिन करें और यह कमांड चलाएँ:
sudo useradd -m rsync
उपरोक्त उदाहरण उपयोगकर्ता नाम का उपयोग करता है rsync, लेकिन आप इसे अपनी इच्छानुसार किसी भी चीज़ में बदल सकते हैं। NS -एम
विकल्प केवल लिनक्स को हमारे नए उपयोगकर्ता के लिए एक होम निर्देशिका बनाने के लिए कहता है।
अपने स्थानीय पीसी को प्रमाणित करने की अनुमति देने के लिए, सार्वजनिक एसएसएच कुंजी जो पिछले अनुभाग में उत्पन्न हुई थी उसे दूरस्थ सर्वर पर कॉपी करने की आवश्यकता है। को खोलो /~.ssh/rsync.key.pub
में फ़ाइल पाठ संपादक और आपको एक बड़ी लाइन दिखाई देगी जो कुछ इस तरह दिखती है।
एसएसएच-आरएसए उपयोगकर्ता@होस्ट
यह लंबी लाइन सार्वजनिक SSH कुंजी है। इसे अपने क्लिपबोर्ड पर कॉपी करें, और अपने रिमोट सर्वर के भीतर ये कमांड चलाएँ:
सुडो सु rsync
mkdir -m 0700 $HOME/.ssh
इको "एसएसएच-आरएसए एएएएबी... उपयोगकर्ता@होस्ट" > $HOME/.ssh/authorized_keys
chmod 0644 $HOME/.ssh/authorized_keys
दूसरे अंतिम आदेश में, उद्धरण चिह्नों के बीच के पाठ को उस लंबी सार्वजनिक SSH कुंजी लाइन से बदलें। बस, आपका स्थानीय पीसी अब आपके रिमोट सर्वर से प्रमाणित करने में सक्षम होगा।
एसएसएच कॉन्फ़िगरेशन फ़ाइल कॉन्फ़िगर करें
सरलता के लिए, इसमें एक प्रविष्टि जोड़ें ~/.ssh/config
दूरस्थ सर्वर से आसानी से कनेक्ट होने के लिए अपने स्थानीय पीसी पर फ़ाइल करें। अपने स्थानीय पीसी पर कमांड के साथ फाइल खोलें।
नैनो $HOME/.ssh/config
फ़ाइल के भीतर दूरस्थ सर्वर के लिए एक प्रविष्टि जोड़ें जैसे:
होस्ट बैकअप_सर्वर
होस्टनाम 192.168.0.24
उपयोगकर्ता rsync
IdentityFile ~/.ssh/rsync
होस्टनाम को अपने दूरस्थ सर्वर के आईपी पते में बदलें, और यदि आपने "rsync" के अलावा किसी अन्य उपयोगकर्ता नाम का उपयोग किया है तो उसे भी बदल दें। आप मेजबान के लिए अपनी इच्छानुसार कुछ भी उपयोग कर सकते हैं, लेकिन इस उदाहरण के लिए, "बैकअप_सर्वर" का उपयोग किया गया था। Ctrl+X और उसके बाद "Y" और Enter कुंजी दबाकर फ़ाइल को सहेजें और बंद करें।
कमांड के साथ रिमोट सर्वर से अपने एसएसएच कनेक्शन का परीक्षण करें।
एसएसएच बैकअप_सर्वर
यह मानते हुए कि सब कुछ सही तरीके से सेटअप है, अब आपको SSH के माध्यम से अपने रिमोट सर्वर में लॉग इन होना चाहिए। कमांड के साथ कनेक्शन बंद करें।
बाहर जाएं
अपनी फ़ाइलें सिंक करें
अब परीक्षण करें rsync
कार्यक्षमता, और उदाहरण के लिए, अपने स्थानीय पीसी पर अपनी दस्तावेज़ निर्देशिका को सिंक करने के लिए कमांड चलाएँ:
rsync -avz --progress ~/दस्तावेज़/बैकअप_सर्वर:~/दस्तावेज़
की पहली घटना ~/दस्तावेज/
स्थानीय फ़ाइल या निर्देशिका को सिंक करने के लिए निर्दिष्ट करता है, बैकअप_सर्वर
में जोड़ी गई प्रविष्टि से मेल खाती है ~/.ssh/config
फ़ाइल, और अंत :~/दस्तावेज़
होम निर्देशिका के सापेक्ष दूरस्थ सर्वर की /दस्तावेज़ निर्देशिका में सब कुछ अपलोड करने के लिए बस निर्दिष्ट करता है।
रिमोट सर्वर में लॉग इन करें, और आपको एक नई दस्तावेज़ निर्देशिका दिखाई देनी चाहिए जो आपके स्थानीय पीसी के साथ सिंक हो। हर बार जब आप उपरोक्त आदेश चलाते हैं, तो केवल पिछली बार से संशोधित की गई फ़ाइलें अपलोड की जाएंगी, इसलिए आप निर्देशिका की संपूर्ण सामग्री को लगातार अपलोड नहीं कर रहे हैं।
Crontab. के माध्यम से स्वचालित
अब जब सब कुछ परीक्षण किया गया है और ठीक से काम कर रहा है, तो हम अपने स्थानीय पीसी में क्रॉस्टैब जॉब जोड़कर पूरी प्रक्रिया को आसानी से स्वचालित कर सकते हैं। अपने स्थानीय फ़ोल्डर को हर 15 मिनट में रिमोट सर्वर से स्वचालित रूप से सिंक करने के लिए, टर्मिनल के भीतर कमांड चलाएँ।
(क्रोंटैब -एल; इको "*/15 * * * * rsync -avz --progress ~/Documents/ backup_server:~/Documents > /dev/null 2>&1";) | क्रोंटैब
आपको "उपयोगकर्ता के लिए कोई कॉन्टैब नहीं" संदेश मिल सकता है, और आप इसे अनदेखा कर सकते हैं। बदलें दस्तावेज़
निर्देशिका जो भी आप बैकअप करना चाहते हैं, लेकिन निर्देशिकाओं के लिए एक अनुगामी स्लैश छोड़ना सुनिश्चित करें अन्यथा वे ठीक से बैकअप नहीं लेंगे।
यह सुनिश्चित करने के लिए जांचें कि क्रॉस्टैब जॉब को कमांड के साथ सफलतापूर्वक जोड़ा गया था।
क्रोंटैब -ली
यदि आप क्रॉस्टैब जॉब देखते हैं जो अभी जोड़ा गया था, तो सब कुछ ठीक है। 15 मिनट प्रतीक्षा करें, अपने रिमोट सर्वर की जांच करें, और सभी आवश्यक फाइलें वहां होनी चाहिए। अब से, आपकी फ़ाइलों में किए गए सभी परिवर्तन स्वचालित रूप से हर 15 मिनट में दूरस्थ सर्वर पर अपलोड हो जाएंगे।
रिमोट सर्वर से डाउनलोड करें
आप भी इस्तेमाल कर सकते हैं rsync
दूरस्थ सर्वर से फ़ाइलें डाउनलोड करने और उन्हें अपने स्थानीय पीसी में सिंक करने के लिए। उपरोक्त /दस्तावेज़ निर्देशिका उदाहरण का उपयोग करते हुए, टर्मिनल के भीतर कमांड चलाएँ:
rsync -chavzP बैकअप_सर्वर:~/दस्तावेज़/ ~/दस्तावेज़
NS ~./दस्तावेज़
आपके स्थानीय पीसी पर निर्देशिका अब दूरस्थ सर्वर की दर्पण छवि होनी चाहिए।
पैटर्न शामिल करें और बहिष्कृत करें
यदि आपको कभी भी केवल उन फ़ाइलों को सिंक करने की आवश्यकता होती है जो एक निश्चित पैटर्न से मेल खाती हैं, जैसे कि end with .html
आप का उपयोग कर सकते हैं --शामिल
पैटर्न। टर्मिनल के भीतर कमांड चलाएँ।
rsync -avz --include "*.html" --progress ~/mysite/ backup_server:~/public_html
दूरस्थ सर्वर की जाँच करें, और आप देखेंगे कि स्थानीय /mysite/ निर्देशिका से केवल .html एक्सटेंशन वाली फ़ाइलें /public_html/ दूरस्थ निर्देशिका में अपलोड की गई हैं। इसी तरह, आप कुछ फाइलों को छोड़कर सब कुछ सिंक भी कर सकते हैं --निकालना
विकल्प। उदाहरण के लिए, निम्न कमांड a. वाली फाइलों को छोड़कर सभी फाइलों को सिंक करेगा ।टेक्स्ट
विस्तार।
rsync -avz --exclude "*.txt" --progress ~/mysite/ backup_server:~/public_html
दो स्थानीय निर्देशिकाओं को सिंक करें
यदि कभी आवश्यकता हो, तो आप कमांड के साथ दो स्थानीय निर्देशिकाओं को भी सिंक कर सकते हैं।
rsync -zvr ~/स्रोत/निर्देशिका ~/गंतव्य/निर्देशिका
यह आदेश ठीक उसी तरह काम करता है जैसे किसी दूरस्थ सर्वर से समन्वयित करते समय, केवल दो स्थानीय निर्देशिकाओं का अंतर होता है।
शेष सहज
अब आप यह जानकर राहत की सांस ले सकते हैं कि आपके डेटा हानि की संभावना अब काफी कम हो गई है। इस लेख में आपने सीखा कि क्या rsync
एसएसएच कुंजी कैसे उत्पन्न और स्थापित करें, के भीतर एक सर्वर को परिभाषित करें ~./.ssh/config
फ़ाइल, एक स्थानीय और दूरस्थ निर्देशिका को सिंक करें, और crontab के माध्यम से पूरी प्रक्रिया को स्वचालित करें। आगे बढ़ते हुए, सभी आवश्यक फ़ाइलें हमेशा आपके दूरस्थ सर्वर के साथ केवल 15 मिनट की देरी से समन्वयित की जाएंगी।
अपने Linux हार्ड डिस्क ड्राइव या विभाजन को क्लोन करने की आवश्यकता है? अपनी Linux डिस्क को क्लोन करने के लिए इनमें से किसी एक ड्राइव क्लोनिंग टूल का उपयोग करें।
- लिनक्स
- डेटा बैकअप
- लिनक्स
- मेघ बैकअप
- घर का नेटवर्क
हमारे न्यूज़लेटर की सदस्यता लें
तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!
एक और क़दम…!
कृपया उस ईमेल में अपने ईमेल पते की पुष्टि करें जिसे हमने अभी आपको भेजा है।