13

I'm trying to download a large 2GB file with wget, but after a few minutes it seems to keep stalling.

I ^C it, and wget it again [with --continue option], and it starts downloading again.

Is there a way to automate retrying the download when it stops downloading? Thanks

19

You could use the --tries option.

   --tries=number
       Set number of retries to number.  Specify 0 or inf for infinite
       retrying.  The default is to retry 20 times, with the exception of
       fatal errors like "connection refused" or "not found" (404), which
       are not retried.

So --tries=0 should do the trick.

That, combined with --read-timeout=seconds too. The seconds refers to idle time: if, at any point in the download, no data is received for more than the specified number of seconds, reading fails and the download is restarted.

So the final command:

wget -c --tries=0 --read-timeout=20 [URL]

  • 1
    The problem is that wget doesn't quit. It just keeps "downloading" at 0KB/s.. :( – Matt Oct 27 '11 at 2:56
  • 8
    Ok. Probably you could use --read-timeout=seconds instead. The "time" of this timeout refers to idle time: if, at any point in the download, no data is received for more than the specified number of seconds, reading fails and the download is restarted. This option does not directly affect the duration of the entire download. Of course, the remote server may choose to terminate the connection sooner than this option requires. The default read timeout is 900 seconds. – Pablo Zubieta Oct 27 '11 at 3:10
  • Yes! That is it! I must have read this long ago when I read the wget manual [most/all of it], and I went back and couldn't find it. – Matt Oct 27 '11 at 3:51
  • Shouldn't this include --continue as well? – sfyn Dec 2 '14 at 0:54
  • @sfyn: Yes, I added -c to the answer so if anything fails you can pick up where you left off. Thanks. – Pablo Zubieta Jan 14 '15 at 18:17
0

Wget tries to continue downloading 15 minutes after a failure. If you leave it over night it should just work.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.