Untuk menghindari --, -K/s
situasi yang dapat Anda gunakan --read-timeout=seconds
. Ini akan memutuskan koneksi setelah jumlah detik.
Jika Anda perlu melampaui itu, Anda dapat menggunakan pengaturan ini
wget --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 -t 0
Ini akan mencoba kembali koneksi yang ditolak dan kesalahan fatal serupa ( --retry-connrefused
), akan menunggu 1 detik sebelum coba lagi berikutnya ( --waitretry
), akan menunggu maksimal 20 detik jika tidak ada data yang diterima dan kemudian coba lagi ( --read-timeout
), ia akan menunggu maks 15 detik sebelum koneksi awal habis ( --timeout
) dan akhirnya akan mencoba lagi beberapa kali ( -t 0
).
Anda mungkin juga ingin meletakkan ini dalam satu while
lingkaran untuk menghindari kegagalan jaringan lokal dan sejenisnya. Dalam hal ini Anda juga perlu menambahkan --continue
untuk melanjutkan unduhan di mana Anda tinggalkan. Berikut ini berfungsi dengan baik di Bash
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;
Sebagai tip bonus, Anda juga dapat menggunakan --no-dns-cache
jika tuan rumah menyeimbangkan permintaan Anda antara beberapa server dengan DNS.
Penafian: Saya tidak merekomendasikan penggunaan ini karena akan meng-spam tuan rumah jika koneksi tidak stabil dan agak tidak bijaksana membiarkannya tidak diawasi. Namun inilah yang Anda inginkan jika Anda benar-benar perlu mengunduh sesuatu dan koneksi Anda tidak berfungsi dengan baik.
--read-timeout=900
. Anda bisa menunggu 15 menit dan wget akan memulai kembali mengunduh.