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.--tries=number
Opsi ini mengatur jumlah coba lagi ke nomor. Tentukan 0 atau 'inf' untuk mencoba ulang tanpa batas.
wget --tries=70 http://example.com/myfile.zip
harus melakukannya.Standarnya adalah coba lagi 20 kali, dengan pengecualian kesalahan fatal seperti "koneksi ditolak" atau "tidak ditemukan" (404), yang tidak diulang lagi.
sumber
Apakah ini membantu? Di askubuntu.com, saya menemukan pertanyaan yang sangat mirip dengan yang Anda tanyakan. Ini tautannya: /ubuntu/72663/how-to-make-wget-retry-download-if-speed-goes-below-certain-threshold
sumber