विंडोज rsync जो लंबी फ़ाइल नाम या एक अच्छा विकल्प का समर्थन करता है?


13

मैं वर्तमान में विंडोज से अपने लिनक्स बॉक्स में चीजों को कॉपी करने के लिए एक लिनक्स होस्ट पर rsync करता हूं। लेकिन मैं लंबे नाम वाली फाइलों की नकल नहीं कर सकता।

मैंने DeltaCopy , cwrsync , और cygwin की कोशिश की है । मैंने जो कुछ भी पाया है उसमें से ये सभी उपकरण फ़ाइलों की प्रतिलिपि बनाने से इनकार करते हैं जब फ़ाइल की लंबाई लंबी हो जाती है, तो यह लगभग 255 वर्णों का प्रतीत होता है।

इस मुद्दे को यहाँ cwrsync फ़ोरम पर संबोधित किया गया है और माना जाता है कि यह भविष्य में कुछ समय के लिए तय किया जा सकता है जब भी cygwin 1.7 बाहर आता है और UTF8 समर्थित होता है। यहां तक ​​कि एक टेस्ट बिल्ड भी है

मैं उत्पादन प्रणाली पर परीक्षण निर्माण का उपयोग करके विशेष रूप से सहज नहीं हूं। मैं उम्मीद कर रहा हूँ कि कोई अन्य rsync विकल्प के बारे में जानता है।

Rsync के विकल्प के रूप में क्या आप एक अन्य उपकरण के बारे में जानते हैं, जो मैं विंडोज़ होस्ट से लिनक्स पर निर्देशिका संरचना की प्रतिलिपि बना सकता हूं जिसमें लंबे या असामान्य रूप से नामित फ़ाइलों के साथ समस्या नहीं होगी? महत्वपूर्ण बिट यह है कि मुझे एक उपकरण की आवश्यकता है जो आसानी से एक SSH सुरंग के पार काम कर सके। कुछ सिस्टम फायरवॉल से परे हैं, और मुझे विश्वास है कि एसएसएच सुरंग है जिसे मुझे उपयोग करने की अनुमति होगी।


FYI करें cwrsync ने एक अपडेट जारी किया है जो कि साइबरविन 1.7 पर आधारित है जो लंबी फ़ाइल नामों का समर्थन करता है! itefix.no/i2/node/12070
Zoredache

जवाबों:


6

मुझे यह बात याद आ रही है लेकिन क्या आपने विंडोज पर रोबोकॉपी का उपयोग करने पर विचार किया है । यह RSync के समान है लेकिन आप इसे सीधे एप्लिकेशन से शेड्यूल नहीं कर सकते।

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


रोबोकॉपी एक ऐसा विकल्प है जिस पर मैं विचार कर रहा हूं, लेकिन यह गलत दिशा (जीत से लिन तक धक्का) में काम करता है, मैं लिनक्स पर खिड़कियों से खींचना चाहता था। मुझे संदेह है कि अगर मुझे कुछ बेहतर नहीं मिल रहा है तो मुझे इस दिशा में जाना पड़ सकता है।
Zoredache

5

अहा! आप rsync के साथ विकल्प का उपयोग कर सकते हैं।

यदि आपके पास एक गहरी निर्देशिका ट्री d: \ very \ long \ file \ n \ ame \ etc \ etc है तो प्रयोग से पता चलता है कि आप X को d: \ very \ long \ file \ name \ etc में बदल सकते हैं और फिर rsync to / cygdrive / x / जो भी हो। यह क्लाइंट एंड पर और सर्वर एंड दोनों पर काम करता है।

अब जबकि आप उन फिल्नामों की लंबाई कम करने के लिए रणनीतिक विकल्पों का उपयोग कर सकते हैं, जिन्हें मैं नहीं जानता कि क्या यह आपको 260 वर्णों की सीमा को दरकिनार करने की अनुमति देता है। यह बहुत सुविधाजनक भी नहीं हो सकता है। एक कोशिश हालांकि लायक।

जॉन रेनी।

---- 8 <----

Http://www.ratsauce.co.uk/notablog/LongFilenames.asp को लंबे फ़ाइलनामों पर मेरी रंबलिंग के लिए देखें ।

मैं Cygwin को \\? \ Prefix पाने के लिए किसी भी तरह का पता नहीं है, और जाहिर है Cygwin के वर्तमान संस्करण आंतरिक रूप से उपसर्ग का उपयोग नहीं करता है। संभवतः वे इसे नए संस्करण में संबोधित कर रहे हैं और इसीलिए यह 260 वर्णों से अधिक लंबे नामों का समर्थन करेगा। मैं सिग्विन rsync का उपयोग सभी जगह करता हूं, जैसे कि आप मुझे बेसब्री से इंतजार करते हैं।

सिग्विन rsync के साथ कुछ अन्य मुद्दे हैं। यह ACLs की गड़बड़ी करता है जब तक कि आप cygwin = nontsec निर्दिष्ट नहीं करते हैं, और यह बहुत बड़ी निर्देशिकाओं पर लटका देता है। मरने से पहले करने के लिए चीजों की मेरी सूची में, rsync का एक देशी विंडोज संस्करण लिखना है जिसमें ये समस्याएं नहीं होंगी। मेरा मानना ​​है कि यह किया गया है, लेकिन केवल व्यावसायिक संस्करणों के रूप में सार्वजनिक डोमेन नहीं।

जे आर


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

यह अब rsync 3.0 के मामले में नहीं है। यह अब एक वृद्धिशील फ़ाइल सूची भेजता है ताकि यह जल्दी ही फाइलें भेजना शुरू कर सके।
जेम्स स्नेनरिंग

2

मेरा सुझाव है कि आप Unison http://www.cis.upenn.edu/~bcpierce/unison/ आज़माएँ

यह rsync के लिए एक बहुत ही दिलचस्प विकल्प है क्योंकि यह द्वि-दिशात्मक तुल्यकालन भी प्रदान कर सकता है (जो rsync ऐसा करने में सक्षम नहीं है)। मैंने पहले ही इसे 2 आभासी मशीनों में सफलतापूर्वक उपयोग कर लिया है और परिणामों से बहुत खुश हूं।

लेकिन जहां तक ​​लंबे फ़ाइल नाम का सवाल है, मुझे नहीं पता कि यह आपके इच्छानुसार काम करता है।

आधिकारिक वेबसाइट से:

Unison, Unix और Windows के लिए एक फाइल-सिंक्रोनाइज़ेशन टूल है। यह फ़ाइलों और निर्देशिकाओं के संग्रह के दो प्रतिकृतियों को अलग-अलग होस्ट्स (या एक ही होस्ट पर अलग-अलग डिस्क) पर संग्रहीत करने की अनुमति देता है, अलग-अलग संशोधित किया जाता है, और फिर प्रत्येक प्रतिकृति में बदलावों को दूसरे तक पहुंचाकर तारीख तक लाया जाता है।


क्या आपने इसे 250 अक्षरों से अधिक लंबे रास्तों के साथ उपयोग किया है? यह विंडोज पर इसे प्राप्त करने का एकमात्र तरीका साइबरगन के माध्यम से प्रकट होता है, जो मुझे लगता है कि इसका मतलब है कि यह बिल्कुल वही मुद्दा होगा जो मैं साइबरविन rsync के साथ कर रहा हूं।
Zoredache

मैंने लंबे पथ का परीक्षण नहीं किया है, लेकिन विंडोज के लिए यूनिसन बायनेरिज़ को cygwin.dll का उपयोग करके बनाया गया है (यह बायनेरिज़ के साथ बंडल किया गया है, साइबरविन स्थापित करने की कोई आवश्यकता नहीं है), इसलिए यह सही तरीके से काम कर सकता है। यह कोशिश करो :)
ओलिवियर Jaquemet

2

बस एक ही समस्या है कि मैं एक ही समस्या (प्री-1.7 साइबरविन की सीमाएं) में चला गया और यहां साइबरविन 1.7 के साथ cwrsync का एक कार्यशील निर्माण पाया गया:

http://www.doering-thomas.de/page.php?seite=1&sub=6&lang=en#rsync

(मूल लिंक cwrsync फ़ोरम से मिला)

बिल्कुल एक आधिकारिक निर्माण नहीं है, लेकिन यह मेरे चारसेट मुद्दों को हल करता है :)


1

http://lists.samba.org/archive/rsync/2009-March/022955.html

http://www.okisoft.co.jp/esc/utf8-cygwin/ में UTF8 परत है, जिसका संभावित पथ आकार बढ़ाने का एक दुष्प्रभाव है। इसके लेखक के अनुसार, यदि आप अधिक वर्णों का उपयोग करना चाहते हैं, तो आप पैच में स्थिर हो सकते हैं। जो कि और भी ज्यादा हैकिंग लगता है।

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


इस पोस्ट ने मुझे थोड़ा परेशान किया ( cygwin.com/ml/cygwin/2006-05/msg00068.html ) - "मूल रूप से, 930-लाइन पैच है, जिसमें से अधिकांश नया है। FWICS, यह यूनिकोड के सभी स्थानों को कवर नहीं कर सकता है। रूपांतरण की आवश्यकता हो सकती है (विशेष रूप से, यूनिकोड को एक टेक्स्टमोड पाइप के माध्यम से भेजना बहुत ही शानदार रूप से विफल हो जाएगा) "
ज़ॉडेचेचे

0

तो, अगर उपकरण विंडोज पर खराब हैं, तो क्या लिनक्स उपकरण का उपयोग करने का एक तरीका है?

Ssh - sshfs के साथ ?

बिना ssh - एक वीपीएन का उपयोग करें और एसएमबी के रूप में माउंट करें?

किसी भी तरह से आप एक फ़ाइल सिस्टम के खिलाफ अधिक सक्षम लिनक्स rsync क्लाइंट का उपयोग करने की अनुमति देंगे। मैंने 10GB डेटा के साथ ऐसा नहीं किया है इसलिए YMMV। :)


मैं अपने लिनक्स बॉक्स से विंडोज़ से फाइलें खींचने की कोशिश कर रहा हूं। इसके अलावा मैं वास्तव में एक संग्रह का निर्माण नहीं करना चाहता क्योंकि मैं 10GB + डेटा की बहुत सारी बातें कर रहा हूं जो कि मैं साप्ताहिक सिंक करना चाहता हूं। अगर मैं एक संग्रह बनाता हूं तो मुझे वृद्धिशील अपडेट का लाभ नहीं मिलेगा।
ज़ॉडेचेचे

ठीक है, संशोधित उत्तर।
Cawflands

0

यह बड़ी फ़ाइल संरचनाएँ नहीं करेगा, लेकिन लंबे नाम वाले अपेक्षाकृत छोटे डेटा-सेटों के लिए आप 7-ज़िप जैसी किसी चीज़ का उपयोग करके एक संग्रह बना सकते हैं जिसे rsync तब स्थानांतरित कर सकता है। आपने कहा था कि आपको विंडोज सर्वर से लिनक्स सर्वर पर डेटा खींचने की जरूरत है। यदि आपके पास शेल एक्सेस है, तो आपको कंटेनर (7-ज़िप) में जिस डेटा की ज़रूरत है, उसे संग्रहीत करें, और जब सर्वर पर पहुंच जाए, तो उसे ट्रांसफ़र कर दें। यह संग्रहकर्ता पर लंबी फ़ाइल नाम समस्या को बढ़ाता है, जिसके लिए मेरा मानना ​​है कि बेहतर समर्थन और गैर-सिग्विन उपकरण हैं।


0

पोर्टेबिलिटी नहीं खोने के लिए मैं आपको rsync के साथ रहने और 255 सीमा को हल करने की कोशिश करने की सलाह दूंगा। यह सीमा अब विंडोज के अंदर नहीं है और RSYNC कोड में है - वास्तव में विंडोज पर सीमा अब लगभग 2048 है (यदि मुझे याद है)।

मुझे पूरा यकीन है कि आपके द्वारा निर्दिष्ट लोगों की तुलना में कोई अन्य rsync पोर्ट नहीं हैं और मैं आपको सुझाव देता हूं कि आप परीक्षण संस्करण का उपयोग करें और आपको जो भी कीड़े मिल सकते हैं उन्हें रिपोर्ट करें।

यदि आप एफ़टीपी का उपयोग करने में कोई आपत्ति नहीं करते हैं तो आप एलएफटीपी की कोशिश कर सकते हैं - इसमें बहुत अच्छी मिररिंग सुविधा है लेकिन जब यह बैकअप / सिंक की बात आती है तो rsync के साथ तुलना नहीं करता है।


0

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

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