web-dev-qa-db-fra.com

Ignorer le téléchargement si des fichiers existent dans wget?

C'est l'exemple le plus simple avec wget:

wget http://www.example.com/images/misc/pic.png

mais comment faire wget ignorer le téléchargement si pic.png est déjà disponible?

168
nais inpoh gan

Essayez le paramètre suivant:

-nc, --no-clobber: ignore les téléchargements pouvant être téléchargés dans des fichiers existants.

Exemple d'utilisation:

wget -nc http://example.com/pic.png
236
plundra

L'option -nc, --no-clobber n'est pas la meilleure solution car les fichiers les plus récents ne seront pas téléchargés. Il faut utiliser -N à la place, ce qui téléchargera et écrasera le fichier uniquement si le serveur dispose d'une version plus récente. La réponse correcte est donc:

wget -N http://www.example.com/images/misc/pic.png

Lorsque vous exécutez ensuite Wget avec -N, avec ou sans -r ou -p, la décision de télécharger ou non une nouvelle copie d’un fichier dépend de l’horodatage local et distant et de la taille du fichier. -nc ne peut pas être spécifié en même temps que -N.

-N, --timestamping: Activer l'horodatage.

173

Lors de l'exécution de Wget avec -r ou -p, mais sans -N, -nd ou -nc, le téléchargement d'un fichier entraîne le remplacement de la nouvelle copie. l'ancien.

Par conséquent, l'ajout de -nc empêchera ce problème, mais à la place, la version d'origine sera préservée et les copies les plus récentes sur le serveur seront ignorées.

Voir plus d'informations sur GNU.

23
Mahesh

La réponse que je cherchais se trouve à https://unix.stackexchange.com/a/9557/114862 .

L'utilisation de l'indicateur -c lorsque le fichier local a une taille supérieure ou égale à la version du serveur évite le ré-téléchargement.

11
jsta