हाँ यह -c
विकल्प है।
--continue
Continue getting a partially-downloaded file. This is useful when you want to
finish up a download started by a previous instance of Wget, or by another
program.
यदि फ़ाइल समान है, तो दूसरा डाउनलोड प्रयास बंद हो जाएगा।
$ wget -c https://cdn.sstatic.net/askubuntu/img/logo.png
...
Saving to: ‘logo.png’
...
$ wget -c https://cdn.sstatic.net/askubuntu/img/logo.png
...
The file is already fully retrieved; nothing to do.
चेतावनियां (jofel की टिप्पणी से)
यदि फ़ाइल सर्वर पर बदल गई है, तो -c
विकल्प गलत परिणाम दे सकता है।
साथ -c
, wget बस पहले से ही डाउनलोड की गई फ़ाइल का हिस्सा से परे किसी भी डेटा के लिए सर्वर, और कुछ नहीं कहता है। यह जाँच नहीं करता है कि पहले से डाउनलोड की गई फ़ाइल के हिस्से में कोई बदलाव हुआ या नहीं। इस प्रकार, आप एक दूषित फ़ाइल जो पुरानी और नई फ़ाइल का मिश्रण है।
स्थानीय परीक्षण
आप निम्नलिखित के रूप में सरल स्थानीय वेब-सर्वर चलाकर इसका परीक्षण कर सकते हैं ( @roadmr के उत्तर के लिए धन्यवाद ):
एक टर्मिनल विंडो खोलें और टाइप करें:
cd /path/to/parent-download-dir/
python -m SimpleHTTPServer
अब एक और टर्मिनल खोलें और करें:
wget -c http://localhost:8000/filename-to-download
ध्यान दें कि filename-to-download
वह फ़ाइल है जिसमें स्थित है /path/to/parent-download-dir/
जिसे हम इसे डाउनलोड करना चाहते हैं।
अब यदि आप कई बार wget कमांड चलाते हैं तो आप देखेंगे:
The file is already fully retrieved; nothing to do.
ठीक है, अब /path/to/parent-download-dir/
निर्देशिका में जाएं और स्रोत फ़ाइल में कुछ जोड़ें, उदाहरण के लिए यदि यह एक पाठ फ़ाइल है, तो इसमें एक साधारण अतिरिक्त पंक्ति जोड़ें और फ़ाइल को सहेजें। अब के साथ प्रयास करें wget -c ...
। बढ़िया, अब आप फ़ाइल को फिर से डाउनलोड करेंगे, लेकिन आपने इसे पहले ही डाउनलोड कर लिया है।
कारण: पुनः डाउनलोड क्यों?
क्योंकि इसका आकार पुरानी डाउनलोड की गई फ़ाइल की तुलना में बड़े आकार में बदल गया और कुछ नहीं।