5 votes

Comment configurer wget pour qu'il se termine après avoir téléchargé plus qu'une durée fixe ?

Je veux que wget commence (ou tente de commencer) le téléchargement, et si ce n'est pas fait après 10 secondes, je veux qu'il abandonne.

wget --timeout 10 http://url

Cela semble être un essai raisonnable, mais il semble qu'il ne définit que --dns-timeout, --connect-timeout, et --read-timeout. Ainsi, il pourrait attendre 9 secondes pour le dns, 9 autres pour la connexion et ensuite continuer à télécharger pour toujours, tant que les données continuent à arriver à un rythme régulier (pas de pause de plus de 10 secondes).

1voto

Federico Points 300

En gros, ce sera quelque chose comme :

wget http://www.somesite.com/file.zip &
PID=$!
sleep 10
if [ `ps ax | grep $PID` -ne '' ]
   then
   kill $PID
fi

1voto

Ce n'est pas exactement ce que vous demandez, car cela ne devrait provoquer l'arrêt de Wget que si le téléchargement reste inactif pendant plus de 10 secondes :

wget --read-timeout= 10 http://url

A propos de la --read-timeout de l'option Manuel de Wget 1.13.4 :

Définir le délai de lecture (et d'écriture) à secondes secondes. Le "temps" de ce délai fait référence au temps d'inactivité : si, à un moment quelconque du téléchargement, aucune donnée n'est reçue pendant plus du nombre de secondes spécifié, la lecture échoue et le téléchargement est relancé. Cette option n'affecte pas directement la durée de l'ensemble du téléchargement.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X