web-dev-qa-db-fra.com

Comment faire pour que Wget réessaye le téléchargement si la vitesse passe en dessous d'un certain seuil?

J'essaie de télécharger un fichier volumineux de 2 Go avec wget, mais après quelques minutes, il semble ne pas bouger.

Je le ^ C, et le wget à nouveau [avec l'option --continue], et le téléchargement recommence.

Existe-t-il un moyen d'automatiser les nouvelles tentatives de téléchargement lorsqu'il cesse de télécharger? Merci

13
Matt

Vous pouvez utiliser l'option --tries.

   --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.

Donc, --tries=0 devrait faire l'affaire.

Cela, combiné avec --read-timeout=seconds aussi. Les secondes font référence au temps d'inactivité: si, à un moment quelconque du téléchargement, aucune donnée n'est reçue pendant plus que le nombre de secondes spécifié, la lecture échoue et le téléchargement est redémarré.

Donc la dernière commande:

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

19
Pablo Zubieta

Wget essaie de continuer à télécharger 15 minutes après une panne. Si vous partez pour la nuit, cela devrait fonctionner.

0
Boris