Bu wget çalıştıran en basit örnektir:
wget http://www.example.com/images/misc/pic.png
ama pic.png
zaten mevcutsa wget atlamayı nasıl indirebilirim ?
Bu wget çalıştıran en basit örnektir:
wget http://www.example.com/images/misc/pic.png
ama pic.png
zaten mevcutsa wget atlamayı nasıl indirebilirim ?
Yanıtlar:
Aşağıdaki parametreyi deneyin:
-nc
,--no-clobber
: mevcut dosyalara indirilecek indirme işlemlerini atla.
Örnek kullanım:
wget -nc http://example.com/pic.png
[ ! -e "$(basename $URL)" ] && wget $URL
--recursive
seçeneği kullanıyorum .
-nc
, --no-clobber
Yeni dosyalar indirilmez olarak seçenek en iyi çözüm değildir. Bunun -N
yerine, yalnızca sunucunun daha yeni bir sürümü varsa dosyayı karşıdan yükleyecek ve üzerine yazacak, bu yüzden doğru cevap:
wget -N http://www.example.com/images/misc/pic.png
Sonra birlikte veya olmadan, -N Wget'i çalıştıran
-r
veya-p
bir dosyanın daha yeni kopyasını indirmek için olsun veya olmasın dair karar dosyasının yerel ve uzak zaman damgası ve büyüklüğüne bağlıdır.-nc
ile aynı anda belirtilmemiş olabilir-N
.
-N
,--timestamping
: Zaman damgasını açın.
-N
başarısız olabilir ve wget her zaman yeniden indirilir. Yani bazen -nc
daha iyi bir çözümdür.
wget
şikayet edecek Last-modified header missing
; bu tam olarak özetlenen durumdur.
İle Wget'i çalıştırırken -r
veya -p
ancak olmadan -N
, -nd
ya da -nc
, yeniden indirerek bir dosyayı yeni bir kopyasını basitçe eski üzerine yazarak sonuçlanacaktır.
Bu nedenle ekleme -nc
işlemi bu davranışı önler, bunun yerine orijinal sürümün korunmasına ve sunucudaki yeni kopyaların yok sayılmasına neden olur.
Aradığım cevap https://unix.stackexchange.com/a/9557/114862 adresinde .
-c
Yerel dosya, sunucu sürümüne eşit veya daha büyük boyuttayken bayrağı kullanmak yeniden indirmeyi önler.
wget -i filelist.txt -c
dosya listesinin başarısız bir şekilde indirilmesine devam edecektir.
-nc
HTTP isteğinin gönderilmesini ve daha sonra dosyanın indirilmesini engellemez. Dosya zaten tam olarak alınmışsa, dosyayı indirdikten sonra hiçbir şey yapmaz. Dosya zaten varsa HTTP isteğinin yapılmasını önlemek için yine de var mı? stackoverflow.com/questions/33203898/…