Oui, c'est -c
option.
--continue
Continue getting a partially-downloaded file. This is useful when you want to
finish up a download started by a previous instance of Wget, or by another
program.
Si le fichier est le même, la deuxième tentative de téléchargement s'arrête.
$ wget -c https://cdn.sstatic.net/askubuntu/img/logo.png
...
Saving to: ‘logo.png’
...
$ wget -c https://cdn.sstatic.net/askubuntu/img/logo.png
...
The file is already fully retrieved; nothing to do.
Avertissements (d'après les commentaires de jofel)
Si le fichier a été modifié sur le serveur, la fonction -c
peut donner des résultats incorrects.
Avec -c
wget demande simplement au serveur des données autres que celles du fichier déjà téléchargé, rien d'autre. Il ne vérifie pas si la partie du fichier déjà téléchargée a été modifiée. Ainsi, vous pouvez obtenir un fichier corrompu qui est un mélange de l'ancien et du nouveau fichier.
Test local
Vous pouvez le tester en exécutant un simple serveur web local comme suit (merci à @roadmr 's réponse ):
Ouvrez un Terminal Windows et tapez :
cd /path/to/parent-download-dir/
python -m SimpleHTTPServer
Maintenant, ouvrez un autre Terminal et faites :
wget -c http://localhost:8000/filename-to-download
Notez que filename-to-download
est le fichier qui se trouve dans /path/to/parent-download-dir/
dans lequel nous voulons le télécharger.
Maintenant, si vous exécutez la commande wget plusieurs fois, vous verrez :
The file is already fully retrieved; nothing to do.
Ok, maintenant allez à /path/to/parent-download-dir/
et ajoutez quelque chose au fichier source, par exemple s'il s'agit d'un fichier texte, ajoutez-y une simple ligne supplémentaire et enregistrez le fichier. Essayez maintenant avec wget -c ...
. Super, maintenant vous verrez le fichier se retélécharger à nouveau mais vous l'avez déjà téléchargé auparavant.
Motif : pourquoi retélécharger ?
parce que sa taille est devenue plus grande que celle de l'ancien fichier téléchargé et rien d'autre.