बड़ी फ़ाइलों के लिए smbclient विकल्प


11

मैं लिनक्स सिस्टम से रात को विंडोज शेयर में बड़ी फ़ाइलों (80GB) के एक सेट को स्थानांतरित करने के लिए smbclient का उपयोग कर रहा हूं। हाल ही में, जो भी कारण के लिए, मुझे I / O टाइमआउट मिल रहा है:

cli_push returned NT_STATUS_IO_TIMEOUT

जिसके कारण सक्रिय फ़ाइल स्थानांतरण को Windows साझा से हटा दिया गया और हटा दिया गया।

यह अनसुलझे सांबा बग 8498 (या शायद नहीं) के कारण हो सकता है । विंडोज सिस्टम मेरे नियंत्रण में नहीं है, इसलिए मैं एक ssh सर्वर (scp या sftp का उपयोग करने के लिए) स्थापित नहीं कर सकता, और Microsoft के NFS के कार्यान्वयन पर निर्भर नहीं होना चाहता।

क्या एक और सरल, मानक विकल्प है जो मुझे नियमित रूप से नेटवर्क पर लिनक्स से विंडोज तक 80 जीबी डेटा स्थानांतरित करने देगा (नेटवर्क जीबी ईथरनेट है, इसलिए बैंडविड्थ कोई समस्या नहीं है)?


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

गूगल पर "
123go

जवाबों:


9

Smbclient पर इन सॉकेट विकल्पों का उपयोग करने का प्रयास करें

smbclient --socket-options='TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=131072 SO_SNDBUF=131072'

मैं नियमित रूप से विंडोज से लिनक्स मीडिया सर्वर पर त्रुटि के बिना 40 + जीबी फाइलें कॉपी करता हूं, गीगाबिट स्विच के माध्यम से जुड़ी मशीनों के साथ विशिष्ट हस्तांतरण दर 85 एमबी / एस है।


1
इसके लिए धन्यवाद - यह मेरे लिए त्रुटि से छुटकारा पा गया; और एक Ubunutu से विंडोज साझा करने के लिए 2 जी फ़ाइल को सही ढंग से कॉपी किया।
मोनोजोनी

मैंने इसे और भाग्य के बिना SO_RCVBUF और SO_SNDBUF के मूल्यों को समायोजित करने के अन्य रूपों की कोशिश की है। मैं जिस फ़ाइल को अपलोड करने की कोशिश कर रहा हूं वह शून्य पैकेट नुकसान के साथ एक स्थानीय नेटवर्क पर लगभग 8gig है।
mhvelplund

2

का उपयोग करते हुए curl

मैं smbclient संस्करण 4.9.4 चला रहा हूँ, एक 97 MiB फ़ाइल को आर्क लिनक्स से विंडोज में स्थानांतरित करने की कोशिश कर रहा हूं और smbclient को कॉल कर रहा हूं --socket-options='TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=131072 SO_SNDBUF=131072' क्योंकि उपयोगकर्ता bsd की सिफारिश की गई थी और अभी भी विफल रहा है cli_push returned NT_STATUS_IO_TIMEOUT

संस्करण 7.40 के बाद से , कर्ल प्रोटोकॉल का समर्थन करता है।

इस प्रकार, मैंने इसका उपयोग विंडोज मशीन पर moderately_sized_fileलिनक्स से सेवा OurRemoteDirectoryपर अपलोड करने के लिए किया 172.16.17.52:

curl --upload-file /home/me/moderately_sized_file --user "OurWindowsDomain/MyUserName:MyPassword" smb://172.16.17.52/OurRemoteDirectory/Path/To/Dir/

मेरे लिए, कर्ल ने हर बार मज़बूती से फ़ाइल अपलोड की है और अपलोड प्रगति को भी प्रदर्शित करता है, जो अच्छा है।

ध्यान दें कि कर्ल अभी तक दूरस्थ होस्ट पर निर्देशिका बनाने का समर्थन नहीं करता है।

नतीजतन, आपको /Path/To/Dir/निम्नलिखित कमांड का उपयोग करके बनाने की आवश्यकता हो सकती है (लेकिन smbclient mkdirअब तक किसी समस्या के बिना काम किया है):

smbclient //172.16.17.52/OurRemoteDirectory/ -U MyUserName%MyPassword -W OurWindowsDomain -c 'mkdir Path/To/Dir/'

0

हो सकता है कि आप अपने लिनक्स सर्वर पर एक FTP सर्वर स्थापित कर सकते हैं , और विंडोज व्यवस्थापक से इसे रात को फ़ाइल भेजने के लिए कह सकते हैं?

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


फाइल्स दूसरे तरीके से जा रही हैं, लिनक्स से विंडोज तक
Ex Umbris

0

अगर

smbclient --socket-options='TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=131072 SO_SNDBUF=131072'

अभी भी लौटता है cli_push returned NT_STATUS_IO_TIMEOUT

बस एक टाइमआउट विकल्प जोड़ें -t <timeout in seconds>

यह वर्चुअल मशीनों की बड़ी फ़ाइलों (> 200 Tb) की नकल करने में मेरी मदद करता है

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