Reprendre le téléchargement échoué à l'aide de l'outil de ligne de commande Linux

37

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

J'ai partiellement téléchargé un fichier volumineux, c'est-à-dire 400 Mo sur 900 Mo en raison d'une panne de courant, mais lorsque je recommence à télécharger, il reprend à partir de zéro. Comment partir de 400 Mo lui-même?

amolveer
la source
5
Quelle ligne de commande avez-vous utilisé pour télécharger le fichier en premier lieu?
Anthon
3
Ne répondez pas dans un commentaire, mettez à jour votre question incomplète .
Anthon
1
Si vous utilisez curl, vous devez rechercher l' -Coption dans la page de manuel .
HalosGhost

Réponses:

53

Puisque vous n'avez pas précisé, je suppose que vous utilisez wgetle téléchargement du fichier. Si tel est le cas, essayez de l'utiliser avec l' -coption (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 / vieux démon ftp qui ne prend pas en charge la reprise des téléchargements (les nouveaux démons ftp le supportent de toute façon pendant plus de dix ans) , alors c’est juste une petite chance). Si tel est le cas, cependant, vous risquez de ne pas avoir de chance. D'autre part, vous ne devriez pas avoir de problèmes si le protocole utilisé est http. (MISE À JOUR: Selon d'autres experts (y compris Gilles dans les commentaires ci-dessous), la reprise en utilisant http est également soumise au support du serveur, ce qui s'applique donc à la fois à ftp et à http).

Bonne chance.

Marcelo
la source
5
Les téléchargements HTTP ne peuvent être repris que si le serveur les prend en charge, ce qui est plus rare qu'avec les serveurs FTP.
Gilles, arrête de faire le mal '
Merci Gilles, je n'ai eu que de bonnes expériences de reprise en utilisant http, mais tu as probablement raison et j'ai de la chance. Mettra à jour le ma réponse.
Marcelo
wget -c http:...a travaillé sur les 3 ou 4 serveurs sur lesquels je l'ai essayé.
Bob Stein
Dieu vous bénisse homme!
Apprenant
3
@Gilles: En fait, il s'agit désormais d'une option courante pour tout contenu statique de serveurs plus récent que ~ 2010 (en d'autres termes, la plupart des serveurs autorisent les demandes de plage pour les fichiers statiques par défaut). Pour les données générées dynamiquement, cela est en effet rare.
Piskvor
0

Je sais ce que signifie la question initiale, et la réponse n'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 de sauvegarder les 400 premiers Mo déjà présents sur votre disque dur.

Michael Chen
la source