2011-08-31 15 views
37

मैं विंडोज 7 पर rsync का उपयोग करने की कोशिश कर रहा हूं। मैंने cwRsync स्थापित किया और उबंटू 9.04 से कनेक्ट करने का प्रयास किया।यह rsync कनेक्शन अप्रत्याशित रूप से विंडोज पर क्यों बंद है?

$ rsync -azC --force --more-options ./ [email protected]:/my/path/ 
rsync: connection unexpectedly closed (0 bytes received so far) [receiver] 
rsync error: error in rsync protocol data stream (code 12) at io.c(600) [receiver=3.0.5] 
rsync: connection unexpectedly closed (0 bytes received so far) [sender] 
rsync error: error in rsync protocol data stream (code 12) at io.c(610) [sender=3.0.8] 
+2

यह त्रुटि सभी को पकड़ने लगती है। यह तब भी होता है जब आप किसी फ़ाइल के लिए गंतव्य फ़ाइल नाम निर्दिष्ट करते हैं, केवल निर्देशिका के बजाय। – Nick

+4

यह देर हो सकती है, लेकिन वंशावली के लिए जोड़ना।फाइल सिस्टम जहां फ़ाइलों को सिंक किया गया है, 100% डिस्क स्पेस तक पहुंच गया है। – bram

उत्तर

3

मुझे समाधान मिलता है। मैंने साइगविन का उपयोग किया है और यह समस्या विंडोज़ के लिए rsync कमांड केवल विंडोज शैल में काम करती है और विंडोज पावरहेल में काम करती है।

कुछ बार यह दो लिनक्स बक्से के बीच एक ही त्रुटि हुई है। और rsync

+0

यह तब भी होता है जब गंतव्य सर्वर पर rsync मौजूद नहीं है। –

4

यह त्रुटि संदेश शायद मतलब है कि आप या तो सर्वर नाम गलत टाइप या सर्वर पर एक ssh सर्वर शुरू करने के लिए भूल गया था। पूरी तरह से सुनिश्चित करें कि पोर्ट 22 पर सर्वर पर एक एसएसएच सर्वर चल रहा है, और यह फ़ायरवॉल नहीं है। आप ssh [email protected] के साथ परीक्षण कर सकते हैं।

+0

एनओपी सर्वर ठीक काम करता है और नाम सही है scp कमांड और ssh कमांड काम ठीक है – rkmax

+0

@rkmax अन्य संभावित कारणों के साथ उत्तर अपडेट किया गया है, लेकिन यदि एसएसएच काम करता है, तो वे या तो लागू नहीं होते हैं। क्या आप किसी भी अनावश्यक पैरामीटर के बिना rsync आज़मा सकते हैं और फिर पैकेट डंप अपलोड कर सकते हैं, उदाहरण के लिए [wireshark] (http://wireshark.org/) के साथ जेनरेट किया गया है? – phihag

+0

हाँ सर्वर 22 बंदरगाह पर सुन रहा है और केवल_dir और उपयोगकर्ता @ होस्ट: to_dir के साथ कमांड चलाता है और उसी संदेश को प्राप्त करता है – rkmax

12

के असंगत संस्करणों से प्रतीत होता है मैंने rsync संस्करणों को बदलते समय यह देखा।

rsync -e 'ssh ...

जब rsync.exe और ssh.exe एक ही निर्देशिका में थे: पुराने संस्करण में, यह कहने के लिए काम किया।

नए संस्करण के साथ

, मैं पथ निर्दिष्ट किया था:

rsync -e './ssh ...

और यह काम किया।

+2

+1 एक बेहतर उदाहरण पथ को छोड़कर rsync -e/usr/bin/ssh .... – maverick

+1

@maverick हाँ मुझे यकीन है कि 'rsync -e/usr/bin/ssh.exe' बहुत बेहतर काम करेगा। -_- –

6

मुझे यह समस्या थी, लेकिन केवल तभी जब मैंने लिनक्स (आरएच) सर्वर से सोलारिस सर्वर पर rsync करने की कोशिश की। मेरा फिक्स यह सुनिश्चित करना था कि rsync दोनों बक्से पर एक ही रास्ता था, और यह कि rsync का स्वामित्व समान था।

लिनक्स बॉक्स पर, सोलारिस बॉक्स पर rsync पथ/usr/bin था, यह/usr/local/bin था। तो, सोलारिस बॉक्स पर मैंने ln -s/usr/local/bin/rsync/usr/bin/rsync किया था।

मुझे अभी भी एक ही समस्या थी, और स्वामित्व मतभेदों को देखा। लिनक्स पर यह रूट था: जड़, सौर पर यह बिन था: बिन। रूट करने के लिए सौर को बदलना: रूट इसे ठीक करता है।

+3

यदि रिमोट rsync बाइनरी एक असामान्य स्थान पर है तो आप इसे निर्दिष्ट कर सकते हैं: rsync -azC --rsync-path =/usr/local/bin/rsync ... उदाहरण के लिए। –

5

मुझे यह त्रुटि 2 लिनक्स बॉक्स के बीच आ रही थी। दूरस्थ बॉक्स के साथ-साथ स्थानीय एक पर आरएसवाईएनसी स्थापित करके आसानी से हल किया गया।

+0

हाँ, यह अच्छा होगा अगर त्रुटि के बारे में rsync अधिक वर्णनात्मक हो। मुझे इस प्रश्न के लिए अन्य सभी "उत्तर" द्वारा उत्पादित एक ही त्रुटि संदेश प्राप्त हुआ, लेकिन मेरा एक और मूल समस्या ... फ़ाइल अनुमति और लिनक्स बॉक्स पर गंतव्य निर्देशिका का स्वामित्व था। यह सत्यापित करने के बाद तक खोज नहीं आया कि मेरे पास इस उत्तर (आरएसआईएनसी पथ, बिन संस्करण मेलमिच, बिन अनुमतियां, एसएसएच पथ इत्यादि) पर उल्लिखित अन्य समस्याओं में से कोई भी नहीं है। – hobs

+0

धन्यवाद; डी ने इसे मेरे लिए हल किया ... मेरा स्वीकार्य उत्तर यहां; डी –

21

मेरे लिए चाल थी कि मेरे पास ssh संघर्ष था।

मेरे पास मेरे विंडोज पथ पर गिट स्थापित है, जिसमें एसएसएच शामिल है। cwrsync भी ssh स्थापित करता है।

चाल सही पथ सेट करने के लिए एक बैच फ़ाइल बनाने के लिए है:

rsync.bat

@echo off 
SETLOCAL 
SET CWRSYNCHOME=c:\commands\cwrsync 
SET HOME=c:\Users\Petah\ 
SET CWOLDPATH=%PATH% 
SET PATH=%CWRSYNCHOME%\bin;%PATH% 
%~dp0\cwrsync\bin\rsync.exe %* 

विंडोज पर आप अगर यह एक मुद्दा है की जाँच करने के where ssh लिख सकते हैं। आपको कुछ ऐसा मिलेगा:

where ssh 
C:\Program Files (x86)\Git\bin\ssh.exe 
C:\Program Files\cwRsync\ssh.exe 
+1

गिथब के गिट क्लाइंट के खोल एसएसएच संस्करण के साथ भी समस्याएं थीं। 'Apt-cyg install openssh' करने के लिए यह मेरे लिए तय किया गया है। यदि आपको यह समस्या है तो यह सुनिश्चित नहीं है कि एक सिग्विन प्रॉम्प्ट से 'कौन सा ssh'' आज़माएं। –

+0

या आप से 'एसएसएच' विंडोज सीएलआई – Petah

+0

हाय, मुझे खेद है, ऐसा लगता है कि मेरे पास एक ही समस्या है, लेकिन कंप्यूटर पर्यावरण के बारे में मेरा खराब ज्ञान मुझे इसे ठीक करने में मदद नहीं करता है: http://stackoverflow.com/प्रश्न/32756423/नियम-विवाद-बीच-एकाधिक-एसएसएच धन्यवाद – leonsaysHi

संबंधित मुद्दे

 संबंधित मुद्दे