wget(1) --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 -t 0 \ ''
The non-interactive network downloader
--retry-connrefused
    Consider "connection refused" a transient error and try again.  Normally Wget gives up on a URL when
    it is unable to connect to the site because failure to connect is taken as a sign that the server is
    not running at all and that retries would not help.  This option is for mirroring unreliable sites
    whose servers tend to disappear for short periods of time.
--waitretry=seconds
    If you don't want Wget to wait between every retrieval, but only between retries of failed downloads,
    you can use this option.  Wget will use linear backoff, waiting 1 second after the first failure on a
    given file, then waiting 2 seconds after the second failure on that file, up to the maximum number of
    seconds you specify.

    By default, Wget will assume a value of 10 seconds.
--read-timeout=seconds
    Set the read (and write) timeout to seconds seconds.  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.
-T seconds
--timeout=seconds
    Set the network timeout to seconds seconds.  This is equivalent to specifying --dns-timeout,
    --connect-timeout, and --read-timeout, all at the same time.

    When interacting with the network, Wget can check for timeout and abort the operation if it takes too
    long.  This prevents anomalies like hanging reads and infinite connects.  The only timeout enabled by
    default is a 900-second read timeout.  Setting a timeout to 0 disables it altogether.  Unless you
    know what you are doing, it is best not to change the default timeout settings.

    All timeout-related options accept decimal values, as well as subsecond values.  For example, 0.1
    seconds is a legal (though unwise) choice of timeout.  Subsecond timeouts are useful for checking
    server response times or for testing network latency.
-t number
--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.
wget [option]... [URL]...
source manpages: wget