लिनक्स में दूरस्थ निर्देशिका के साथ स्थानीय निर्देशिका को सिंक करें


14

मेरे पास कुछ फ़ाइलों के साथ एक फ़ोल्डर है, और एक वेब सर्वर पर कुछ जगह है। मैं स्थानीय फ़ोल्डर और लिनक्स में दूरस्थ एक के बीच एक द्वि-दिशात्मक सिंक करना चाहता हूं, बस संशोधन समय पर। मैं यह कैसे करु? btw मैं सर्वर पर कुछ भी स्थापित नहीं कर सकता, सभी इरादों और उद्देश्यों के लिए यह सिर्फ स्थान है।

नोट: मेरे पास पहले से ही rsa की-जोड़े सेट हैं, ताकि यह चुपचाप हो सके।

जवाबों:


12

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

यदि आपके पास स्थानीय रूप से लिनक्स, * बीएसडी, सोलारिस या मैक ओएस एक्स है, तो आप संभवतः वेब फाइल को स्थानीय फाइल सिस्टम के रूप में प्रदर्शित करने के लिए FUSE फाइलसिस्टम का उपयोग कर सकते हैं - sshfs को तब से काम करना चाहिए जब तक आप ssh का उपयोग करना चाहते हैं। फिर "स्थानीय रूप से" का उपयोग करें।

यह भी ध्यान दें कि अधिकांश संस्करण नियंत्रण सॉफ्टवेयर (सीवीएस / सबवर्सन के साथ-साथ वितरित वीसीएस) में एक बाई-वे सुविधा (एक मशीन पर जांच और दूसरे पर बाहर) के रूप में सिंक्रनाइज़ेशन है।


4

यदि यह सर्वर पर स्थापित है, तो इसका उपयोग rsyncबिलकुल उस नौकरी के लिए करें।

इसे द्वि-दिशात्मक करने के लिए ( http://forums11.itrc.hp.com/service/forums/questionanswer.do?admit=109447626+1285799008594+28353475.threadId=1278777 पर उद्धरण करें )

दोनों ओर करने के लिए एक निर्देशिका सिंक /src/fooपर hostAकरने /dest/fooपर hostB, सभी उप-निर्देशिका सहित, आप पर इन आदेशों को चलाने के हैं hostA:

rsync -auz /src/foo hostB:/dest 
rsync -auz hostB:/dest/foo /src

पहले आदेश सभी फ़ाइलें पर नए हैं धक्का hostAकरने के लिए hostB

दूसरा आदेश सभी फ़ाइलें पर नए हैं खींच लेंगे hostBकरने के लिए hostA। महत्वपूर्ण विकल्प हैं:

कॉपी करते समय, आपको फ़ाइल संशोधन बार संरक्षित करना होगा। -aयह और अन्य बातें करता है;

यदि आप केवल संशोधन के समय को संरक्षित करना चाहते हैं, तो -tइसके बजाय उपयोग करें ।

किसी भी फ़ाइल को गंतव्य पर नए रूप से छोड़ने के लिए: -uयह करता है।


जहाँ तक मैंने पढ़ा है rsync द्वि-दिशात्मक नहीं करता है और जब मैं इसे करने की कोशिश करता हूं तो मुझे त्रुटि मिलती है "प्रोटोकॉल संस्करण बेमेल - क्या आपका शेल साफ है?"
एंड्रयू रेड्ड

hostanswers.net/linux-hosting/rsync-protocol-version-mismatch आपको संस्करण बेमेल चीज़ को ठीक करने में मदद कर सकता है। द्वि-दिशात्मक चीज़ के लिए मैंने अपना उत्तर अपडेट किया।
tante

1
रुपीक्स को द्विदिश तुल्यकालन के लिए बिल्कुल भी अनुकूलित नहीं किया गया है। यदि कोई संघर्ष होता है तो एक बात के लिए यह आपको चेतावनी नहीं देगा। इसके बजाय Unison का प्रयोग करें, यह काम का सही साधन है।
गिल्स एसओ- बुराई को रोकें '

1
यदि सर्वर A भविष्य में सर्वर B से है, तो यह बहुत बुरी तरह से टूट जाता है। मेरे मामले में, मैं दूरस्थ सर्वर से 13 घंटे आगे हूं।
टिम पोस्ट

1

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

CurlFtpFS FUSE और libcurl के आधार पर FTP होस्ट तक पहुँचने के लिए एक फाइल सिस्टम है।

CurlFtpFs के साथ अपने फाइलसिस्टम में एक दूरस्थ एफ़टीपी फ़ोल्डर को शामिल करना बहुत आसान है।

यह एक छोटा उदाहरण है जो दोनों उपकरणों के उपयोग को दर्शाता है:

curlftpfs -r -s ftp.foobar.com /foo
rsync -a /foo/ /bar
umount /foo

आगे की जानकारी के लिए मैनपेज पढ़ें।

यदि आप curlFtpFS को स्थापित करने के लिए ऐसा प्रयास नहीं करना चाहते हैं और बस कुछ फ़ाइलों को सिंक में रखना चाहते हैं, तो बहुत सारे ftp टूल हैं जो इस तरह की सिंक सुविधाएँ प्रदान करते हैं:

  • FTPSync.pl - सिंक में एक स्थानीय और एक दूरस्थ निर्देशिका रखने के लिए सरल PERL स्क्रिप्ट
  • वेब पृष्ठों को अद्यतन करने के लिए एक गैर-इंटरैक्टिव एफ़टीपी क्लाइंट - वेक्स
  • filezilla - बहुत सारे फीचर्स के साथ GUI FTP क्लाइंट
  • ...

1. रुपीस द्विदिश सिंक्रनाइज़ेशन के लिए अच्छा नहीं है , इसके बजाय Unison का उपयोग करें। 2. एफ़टीपी कहाँ से आया? प्रश्न में RSA कुंजी का उल्लेख ssh (और इस प्रकार sshfs) बताता है।
गाइल्स का SO- बुराई करना बंद करो '

आप सही हैं, एफटीपी का उल्लेख प्रश्न में नहीं किया गया है। सच कहूं तो मुझे लगता है कि यह "वेप्सनेस" और "यह सिर्फ जगह है।" और कल मेरी थोड़ी सी थकान।
इकोक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.