web-dev-qa-db-fra.com

Reprendre l'échec du téléchargement à l'aide de l'outil de ligne de commande Linux

Comment reprendre un fichier partiellement téléchargé à l'aide d'un outil de ligne de commande Linux?

J'ai téléchargé un gros fichier partiellement, soit 400 Mo sur 900 Mo en raison d'une coupure de courant, mais lorsque je recommence le téléchargement, il reprend à zéro. Comment démarrer à partir de 400 Mo lui-même?

38
amolveer

Puisque vous ne l'avez pas spécifié, je suppose que vous utilisez wget pour télécharger le fichier. Si tel est le cas, essayez de l'utiliser avec le -c option (par exemple wget -c <URL>).

Veuillez noter que dans le cas où le protocole utilisé est ftp (l'URL ressemble à ftp://...) il est possible que le serveur distant utilise un ancien/ancien démon ftp qui ne prend pas en charge la reprise des téléchargements (les nouveaux démons ftp le prennent en charge pendant plus d'une décennie, donc ce n'est qu'une petite chance). Si tel est le cas, cependant, vous n'avez peut-être pas de chance. En revanche, vous ne devriez avoir aucun problème si le protocole utilisé est http. (MISE À JOUR: Selon d'autres experts (dont Gilles dans les commentaires ci-dessous), la reprise en utilisant http est également soumise à la prise en charge du serveur, donc cela s'applique à la fois à ftp et http).

Bonne chance.

55
Marcelo

Je sais ce que signifie la question d'origine, et la réponse est pas wget -c ...

Le scénario peut être décrit comme ceci:

# Start mirroring a site
wget -m http://...
# 400MB later wget died or interrupted,
# don't know where it left off, don't care,
# just want to get the remaining 100MB without getting the first 400MB again
wget -nc -r -l inf --no-remove-listing http://...

Les options "-r -l inf --no-remove-listing" sont équivalentes à -m sans le paramètre -N. L'ajout du paramètre -nc évite d'enregistrer les premiers 400 Mo déjà sur votre disque dur.

0
Michael Chen