wget डाउनलोड करना शुरू करता है, फिर रुक जाता है "लिख नहीं सकता"


13

मैं एक सर्वर से दूसरे में कुछ फ़ाइलों को मिरर करने के लिए wget का उपयोग कर रहा हूं। मैं निम्नलिखित कमांड का उपयोग कर रहा हूं:

wget -x -N -i http://domain.com/filelist.txt

-x = क्योंकि मैं निर्देशिका संरचना को रखना चाहता हूं

-एन = टाइमस्टैम्पिंग केवल नई फाइलें प्राप्त करने के लिए

-i = बाहरी फ़ाइल से फ़ाइलों की सूची डाउनलोड करने के लिए, प्रत्येक पंक्ति पर एक।

छोटी फ़ाइलें जैसे कि मैं एक परीक्षण कर रहा हूं जो कि 326kb बड़ी डाउनलोड ठीक है।

लेकिन एक और जो 5gb केवल 203mb डाउनलोड करता है और फिर बंद हो जाता है (यह हमेशा 203mb देता है या कुछ किलोबाइट देता है)

दिखाया गया त्रुटि संदेश है:

एकपथ / / / file.zipâ को नहीं लिख सकते

(मुझे यकीन नहीं है कि पहले और बाद में अजीब चरित्र क्यों हैं। मैं विंडोज में पुट्टी का उपयोग कर रहा हूं और इससे कुछ लेना-देना हो सकता है या नहीं, इसलिए मैंने उन्हें छोड़ दिया। मैं हालांकि नहीं मानता।)

पूर्ण प्रतिक्रिया निम्नानुसार है: (मैंने पथ, आईपी और डोमेन नाम बदल दिया है)

--2012-08-31 12: 41: 19-- http://domain.com/filelist.txt domain.com को हल कर रहा है ... MY_IP domain.com से जुड़ रहा है। MY_IP |: 80 ... जुड़ा हुआ है। HTTP अनुरोध भेजा गया, प्रतिक्रिया की प्रतीक्षा की जा रही है ... 200 ठीक लंबाई: 161 [पाठ / सादा] सर्वर फ़ाइल स्थानीय फ़ाइल से कोई नया नहीं है prdomain.com / filelist.txtâ

--2012-08-31 12: 41: 19-- http://domain.com/path/to/file.zip domain.com से कनेक्ट करें। MY_IP |: 80 ... जुड़ा हुआ है। HTTP अनुरोध भेजा गया, प्रतिक्रिया का इंतजार ... 200 OK लंबाई: 5502192869 (5.1G) [आवेदन / ज़िप] आकार मेल नहीं खाते (स्थानीय 213004288) - पुनर्प्राप्त।

--2012-08-31 12: 41: 19-- http://domain.com/path/to/file.zip domain.com से कनेक्ट करें। MY_IP |: 80 ... जुड़ा हुआ है। HTTP अनुरोध भेजा गया, प्रतिक्रिया की प्रतीक्षा की जा रही है ... 200 OK लंबाई: 5502192869 (5.1G) [आवेदन / ज़िप] सेविंग: adomain.com / path / to / file.zipâ

24% में 3% [====>
] 213,003,412 8.74M / s

Prdomain.com / path / to / file.zipâ को नहीं लिख सकते

यदि पथ निर्देशिका पहले से मौजूद है या मक्खी पर बनाई गई है तो इससे कोई फर्क नहीं पड़ता।

क्या किसी को यह पता नहीं है कि यह क्यों रुक रहा है और मैं इसे कैसे ठीक कर सकता हूं?

किसी भी मदद के साथ सबसे अधिक सराहना की जाएगी।

संपादित करें: मैंने भी केवल एक दांव, कोई फ़ाइल इनपुट और फ़ाइल का नाम बदलने की कोशिश की है। इस बार यह थोड़ा अधिक 3Gb पर डाउनलोड होता है और फिर वही त्रुटि नहीं लिख सकता है।

wget -x -N http://domain.com/path/to/file.zip -O files/bigfile.zip

क्या आपके रास्ते में कोई विशेष पात्र हैं?
JMeterX

क्या यह अपेक्षा के अनुरूप काम करता है यदि आप कमांड से पहले "cd / tmp &&" टाइप करते हैं?

क्या आपकी डिस्क भरी हुई है?
जेनी डी

डिस्क निश्चित रूप से पूर्ण नहीं है और कोई विशेष वर्ण नहीं हैं। हालाँकि पथ की लंबाई 87 वर्ण है, कुछ Googling ने लंबे नामों के साथ कुछ समस्याएं दिखाई हैं (फ़ाइल का नाम केवल 29 वर्ण है) हालांकि यह tmp में उसी तरह विफल रहता है।
जॉन मेलोर

@FDDDriedPop चूंकि आपकी फ़ाइल का नाम अपेक्षाकृत लंबा है, इसलिए आप -Oविकल्प का उपयोग करके बदल सकते हैंwget -O test.zip http://link
JMeterX

जवाबों:


7

यदि आप डिस्क स्थान से बाहर हैं, तो आपको यह त्रुटि मिलेगी। df चलाएं और आप देखेंगे कि आप जो निर्देशिका लिख ​​रहे हैं वह 100% पर है


4

यह लंबे URL की समस्या है। मैंने इसका भी सामना किया। तो, मैंने bit.ly का उपयोग किया और url को छोटा कर दिया। एक जादू की तरह काम करता है!


क्या आपको यकीन है? ऐसा लगता है कि डाउनलोड शुरू हो जाएगा और किसी बिंदु पर तब बंद हो जाएगा जब समस्या URL से संबंधित होगी, जिसका उपयोग केवल लेनदेन की शुरुआत में किया जाता है।
फेलिक्स फ्रैंक

हाँ। मुझे भी यही समस्या थी। कोशिश करो।
नामचेस्टर

मुझे लगता है कि समस्या यह है कि लिनक्स लंबे यूआरएल को पहचानने में सक्षम नहीं है।
नामचेस्टर

मुझे लगता है कि तुम खोल मतलब है? क्योंकि कर्नेल निश्चित रूप से इस विफलता के निर्दोष हैं। यहां तक ​​कि शेल के लिए भी यह संभव नहीं है, लेकिन यदि यह मामला था, तो, फिर से, डाउनलोड भी शुरू नहीं हो सकता है - संभावित wgetप्रक्रिया को भूल जाने से पहले भी शेल त्रुटि करेगा ।
फेलिक्स फ्रैंक

1
मेरे लिए यह url पर क्वेरी स्ट्रिंग था -wget http://dltr.org/skin/frontend/lowes/default/css/custom.css?001
दामोदर बशयाल

1

मैं तो बस एक जोड़ा -को tarwget के बाद पाइप के बाद आदेश

मैंने लिया

wget https://example.com/path/to/file.tar.gz -O -|tar -xzf -C /path/to/file

फिर इसे बदल दिया

wget https://example.com/path/to/file.tar.gz -O - | tar -xzvf - -C /path/to/file

के रूप में अच्छी तरह से राल के लिए `-` मत भूलना :)।
शीतल शाह

0

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

यदि फाइलसिस्टम भरा हुआ है, तो यह देखने के लिए आप प्राप्त सर्वर पर df -h का उपयोग कर सकते हैं

समय-समय पर समस्याओं के लिए इस उत्तर को देखें:

/programming/2291524/does-wget-timeout

इसके अलावा, स्थानांतरण को विफल करने की कोशिश करें और -N टाइमस्टैम्प विकल्प को छोड़ दें

इसके अलावा, यह देखने के लिए कि क्या सर्वर पर कोई फ़ाइल आकार सीमा है, ulimit -a चलाएँ


मैं कोई विशेषज्ञ नहीं हूं, लेकिन मुझे लगता है कि यह CentOS 6 चल रहा है। मुझे यह भी पता नहीं है कि चरित्र प्रतिनिधित्व की जांच कैसे करें। हालाँकि यह अन्य छोटी फ़ाइलों को डाउनलोड करना और डाउनलोड करना शुरू कर देता है, इसलिए मुझे नहीं लगता कि यह समस्या की तरह लगता है।
जॉन मेलोर

क्या जिन फ़ाइलों को डाउनलोड करने में यह सफल होता है, क्या उनके नाम में कोई मज़ेदार पात्र हैं?
DisgruntledUser

नहीं, कोई भी अजीब चरित्र नहीं है, जब तक कि एक डॉट एक अजीब चरित्र न हो जैसे "megapack_4.11.zip"। लेकिन फिर से मैंने इसे केवल "bigfile.zip" नाम के साथ आजमाया है और वही समस्या आती है।
जॉन मेलोर

शायद यह केवल पोटीन कि UTF-8 के अलावा किसी अन्य चार प्रतिनिधित्व करने के लिए सेट कर दिया जाता है
DisgruntledUser

हाँ, मुझे नहीं लगता कि यह समस्या है, मैंने अभी इसका उल्लेख किया है क्योंकि मैं कॉपी और पुट्टी से चिपक रहा था। असली समस्या यह नहीं लिख सकता है।
जॉन मेलर


0

मैं कुछ ऐसा ही कर रहा था:

wget -x -N -i http://domain.com/filelist.txt

मैं प्राप्त कर रहा था:

--2016-12-09 07:44:23--  https://www.example.com/dir/details?abc=123&def=456
Resolving www.example.com (www.example.com)... 1.2.3.4
Connecting to www.example.com (www.example.com)|1.2.3.4|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
details?abc=123&def=456: No such file or directory

Cannot write to ‘details?abc=123&def=456’ (Success).

मेरी समकक्ष filelist.txt फ़ाइल में मेरे पास एक URL था जैसे:

https://www.example.com/dir/details?abc=123&def=456

इसलिए डिबग करने के लिए मैंने वही फ़ाइल बनाने की कोशिश की, जिसे बनाने की कोशिश की जा रही थी:

touch "details?abc=123&def=456"
touch: cannot touch ‘details?abc=123&def=456’: No such file or directory

आहा! ऐसा लगता है ?कि समस्या थी, लेकिन अच्छा होगा कि सभी विशिष्ट पात्रों को फ़ाइल नामों से हटा दिया जाए, कल्पना करें कि &यदि बच नहीं गया तो क्या करेंगे।


0

मुझे इस आदेश पर एक ही त्रुटि मिल रही थी:

sudo wget -O - https://nightly.odoo.com/odoo.key | apt-key add -

समस्या दूसरी कमांड के लिए sudo थी और मैं इसे हल करता हूं:

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