--, -K/s
Durumlardan kaçınmak için kullanabilirsiniz --read-timeout=seconds
. Bu, birkaç saniye sonra bağlantıyı zaman aşımına uğrar.
Bunun ötesine geçmek gerekirse, bu kurulumu kullanabilirsiniz.
wget --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 -t 0
Bu, reddedilen bağlantıları ve benzeri önemli hataları --retry-connrefused
yeniden dener ( --waitretry
), bir sonraki yeniden denemeden önce 1 saniye bekler ( ), hiçbir veri alınmadığında en fazla 20 saniye bekleyip tekrar deneyin ( --read-timeout
), en fazla 15 saniye bekler ilk bağlantı zaman aşımına uğramadan önce ( --timeout
) ve nihayetinde sonsuz sayıda ( -t 0
) deneme yapacaktır .
while
Yerel ağ arızasını ve benzeri şeyleri önlemek için bunu bir döngüye sokmak isteyebilirsiniz . Bu durumda --continue
, indirdiğiniz yerden kaldığınız yerden devam etmek için eklemeniz gerekir . Aşağıdaki Bash de iyi çalışır
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;
Bonus ipucu olarak --no-dns-cache
, sunucunun isteğinizi DNS ile birden çok sunucu arasında dengelemesi durumunda da kullanabilirsiniz .
Feragatname: Bağlantının dengesiz olması durumunda ana bilgisayarı istenmeyen postaya göndereceği ve denetlenmemesi oldukça akıllıca olduğu için bunu tavsiye etmiyorum. Bununla birlikte, gerçekten bir şeyler indirmeniz gerektiğine ve bağlantınızın uygun şekilde çalışmamasına rağmen istediğiniz şey budur.
--read-timeout=900
. Sadece 15 dakika bekleyebilir ve wget indirmeyi yeniden başlatacak.