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?
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
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.
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.
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.