ताकि --, -K/s
आप उपयोग की जा सकने वाली स्थितियों से बच सकें --read-timeout=seconds
। यह सेकंड की मात्रा के बाद कनेक्शन टाइमआउट करेगा।
यदि आपको इससे आगे जाने की आवश्यकता है तो आप इस सेटअप का उपयोग कर सकते हैं
wget --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 -t 0
यह इनकार किए गए कनेक्शन और इसी तरह की घातक त्रुटियों ( --retry-connrefused
) को पुनः प्रयास करेगा , यह अगली बार पुन: प्रयास करने से पहले 1 सेकंड प्रतीक्षा करेगा ( --waitretry
), यह अधिकतम 20 सेकंड प्रतीक्षा करेगा यदि कोई डेटा प्राप्त नहीं होता है और फिर पुन: प्रयास करें ( --read-timeout
), यह अधिकतम 15 सेकंड प्रतीक्षा करेगा प्रारंभिक कनेक्शन समय से पहले ( --timeout
) और अंत में यह अनंत बार ( -t 0
) को पुनः प्रयास करेगा ।
आप while
स्थानीय नेटवर्क विफलता और समान से बचने के लिए भी इसे लूप में रखना चाह सकते हैं । इस मामले में भी आपको --continue
डाउनलोड जारी रखने के लिए जोड़ना होगा जहां आपने छोड़ा था। निम्नलिखित बैश में अच्छी तरह से काम करता है
while [ 1 ]; do
wget --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 -t 0 --continue
if [ $? = 0 ]; then break; fi; # check return value, break if successful (0)
sleep 1s;
done;
बोनस टिप के रूप में आप --no-dns-cache
होस्ट द्वारा DNS के कई सर्वरों के बीच आपके अनुरोध को संतुलित करने के मामले में भी उपयोग कर सकते हैं ।
डिस्क्लेमर: मैं इसका उपयोग करने की सलाह नहीं देता क्योंकि यह होस्ट को अनचाहे होने की स्थिति में स्पैम को भेज देगा और इसे अनइंस्टॉल करने के लिए इसे छोड़ना नासमझी की तरह है। हालाँकि, यदि आप वास्तव में कुछ डाउनलोड करना चाहते हैं, तो आपका कनेक्शन पर्याप्त रूप से काम नहीं करता है।
--read-timeout=900
। आप सिर्फ 15 मिनट प्रतीक्षा कर सकते हैं और wget डाउनलोडिंग को पुनः आरंभ करेगा।