रुपये पर sync, या कुछ और?


10

मैं OSX पर लिनक्स या यूनिक्स बॉक्स पर rsync का उपयोग करने की कोशिश कर रहा हूं, जिस पर मेरा बहुत नियंत्रण नहीं है। मैं ऐसा कुछ कर रहा हूं

rsync -avz -e ssh remoteuser@remotehost:/remote/dir /this/dir/ 

दी गई त्रुटि है:

bash: rsync: कमांड नहीं मिला rsync: कनेक्शन अनपेक्षित रूप से बंद (0 बाइट्स अब तक प्राप्त) [रिसीवर] rsync त्रुटि: दूरस्थ कमांड नहीं मिला (कोड 127) /SourceCache/rsync/rsync-37.3-rsync/io.c(452 पर ) [रिसीवर = २.६.९]

हालाँकि, डॉक्स पढ़ने के बाद मुझे लगने लगा है कि मुझे वास्तव में रिमोट होस्ट पर rsync डेमॉन स्थापित करने की आवश्यकता होगी।

  1. क्या मुझे दूरस्थ होस्ट पर rsync सर्वर स्थापित करना चाहिए?
  2. मुफ्त विकल्प - जीयूआई या गैर-जीयूआई - जिन्हें दूरस्थ होस्ट पर कुछ भी स्थापित करने की आवश्यकता नहीं है ?

धन्यवाद!


1
आपके वर्तमान कमांड के साथ क्या समस्याएं हैं?
फिडेली

@ फिडेली, सॉरी, उस बारे में भूल गया। अब संपादन का प्रश्न
डैन रोसेनस्टार्क

1
इस सवाल के लिए धन्यवाद, लेकिन क्या आप इसे टैग कर सकते हैं rsync?
एंड्रयू ग्रिम

जवाबों:


21

आपको सर्वर पर rsync कमांड की आवश्यकता है, लेकिन आपको डेमॉन चलाने की आवश्यकता नहीं है।

सर्वर पर काम करने वाला rsync बाइनरी प्राप्त करें, इसे अपने घर में कहीं रखें, और इस ध्वज को अपनी कमांड लाइन में जोड़ें --rsync-path=/home/user/path/to/rsync:।

यदि आप सर्वर पर rsync की प्रतिलिपि नहीं बनाना चाहते हैं, तो आप scp, या sshfs का उपयोग कर सकते हैं।

sshfs user@host ~/sync/user-host
rsync -av ~/local-dir ~/sync/user-host/remote-dir

उस स्थिति में rsync पूरी तरह से स्थानीय रूप से चलेगा, लेकिन सर्वर में परिवर्तन प्रचारित किया जाएगा।


मुझे वह समाधान बहुत पसंद है, विशेष रूप से क्योंकि सर्वर GoDaddy पर एक सस्ता होस्टिंग योजना है और मुझे संदेह है कि मैं सर्वर पर rsync चलाऊंगा। अभी के लिए +1!
बजे दान रोसेनस्टार्क

OSX पर sshfs की स्थापना के लिए सबसे आसान मार्ग क्या है? MacFuse या वहाँ कुछ आसान है?
दान रोसेनस्टार्क

MacFuse + (MacFusion या sshfs-static-leopard), मुझे लगता है (मैं OSX उपयोगकर्ता नहीं हूं)
टोबू

हाँ MacFuse करता है। बस कि sshfs बाइनरी के लिए डाउनलोड पृष्ठ आपको एक .gz एक्सटेंशन के साथ बाइनरी देता है। तो आपको इसे गुनज़िप करने के बजाय इसका नाम बदलना होगा। कष्टप्रद लेकिन अब ठीक है! धन्यवाद
Dan Rosenstark

6

आपको दूरस्थ होस्ट पर rsync की आवश्यकता है - जरूरी नहीं कि एक rsync सर्वर (जो, मेरा मानना ​​है कि, वैसे भी ssl कनेक्शन को हैंडल नहीं करेगा), लेकिन स्थानीय बॉक्स पर rsync को दूरस्थ बॉक्स पर rsync से बात करने की आवश्यकता है। आप दोनों को लिंक करने के लिए ssh का उपयोग कर रहे हैं।

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

  • --rsync-path = विकल्प का उपयोग करते हुए
  • आपके दूरस्थ ssh शेल के लिए डिफ़ॉल्ट पथ परिवर्तित करना
  • दूरस्थ ssh शेल में rsync के लिए एक उपनाम जोड़ना
  • निष्पादित रिमोट कमांड को rsync के लिए निरपेक्ष पथ में बदलना

या ऐसा ही कुछ। यदि निष्पादन योग्य (वाइस सर्वर) के रूप में rsync दूरस्थ होस्ट पर मौजूद नहीं है, तो इसे जोड़ना होगा।


यह मददगार था, इसलिए +1 था, लेकिन मैं सोच रहा हूं कि अगर मैं मैक से पीसी पर इसे इस तरह चला रहा हूं, तो विंडोज साइड पर rsync के लिए शुरुआती डायरेक्टरी को कैसे निर्दिष्ट किया जाए: superuser.com/questions/1462861/…
रयान

1

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

यदि आप sshfs या किसी भी नेटवर्क माउंट का उपयोग करते हैं, तो यह केवल इस तथ्य को छिपा रहा है कि स्थानीय रूप से चेकसमों की गणना करने के लिए इसे दूरस्थ होस्ट से पूरे नेटवर्क पर कॉपी करना है, और उसके बाद अंतर को प्रसारित करना है। यह स्थानीय रूप से सब कुछ हटाने के लिए तेज और सस्ता होगा और 'scp -r' को बहुत कम करेगा।


3
बिल्कुल नहीं, क्योंकि rsync जाँचता है कि क्या फ़ाइलें आकार और टाइमस्टैम्प द्वारा संशोधित हैं, और यह अभी भी सभी फ़ाइलों को स्कैन करने की तुलना में बहुत अधिक कुशल है। लेकिन वास्तव में, फ़ाइलों के भीतर rsync वृद्धिशील अद्यतन तंत्र sshfs पर कोई मतलब नहीं है।
जैप एल्डरिंग

0

एससीपी की कोशिश करो । जैसा कि आप पहले ही पा चुके हैं कि आपको दूरस्थ होस्ट पर कुछ और स्थापित करने की आवश्यकता नहीं है :)

दूरस्थ होस्ट से स्थानीय होस्ट उपयोग के लिए फ़ाइलों की प्रतिलिपि बनाने के लिए:

# scp -R remoteuser@remotehost:/remote/dir /this/dir/ 

या स्थानीय होस्ट से दूरस्थ होस्ट के साथ फाइल कॉपी करें:

# scp -R /this/dir remoteuser@remotehost:/remote/dir 

1
धन्यवाद ली, एससीपी महान है, लेकिन यह "सिंक" सही नहीं करता है?
दान रोसेनस्टार्क

1
यह एक छोटा "आर" होना चाहिए:scp -r
0x4a6f4672
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.