Questo è l'esempio più semplice che esegue wget:
wget http://www.example.com/images/misc/pic.png
ma come fare wget skip download se pic.pngè già disponibile?
Questo è l'esempio più semplice che esegue wget:
wget http://www.example.com/images/misc/pic.png
ma come fare wget skip download se pic.pngè già disponibile?
Risposte:
Prova il seguente parametro:
-nc,--no-clobber: salta i download che verrebbero scaricati su file esistenti.
Esempio di utilizzo:
wget -nc http://example.com/pic.png
[ ! -e "$(basename $URL)" ] && wget $URL
--recursiveopzione.
L' opzione -nc, --no-clobbernon è la soluzione migliore in quanto i file più recenti non verranno scaricati. Si dovrebbe usare -Ninvece quello che scaricherà e sovrascriverà il file solo se il server ha una versione più recente, quindi la risposta corretta è:
wget -N http://www.example.com/images/misc/pic.png
Quindi eseguendo Wget con -N, con o senza
-ro-p, la decisione se scaricare o meno una copia più recente di un file dipende dal timestamp locale e remoto e dalle dimensioni del file.-ncnon può essere specificato contemporaneamente a-N.
-N,--timestamping: Attiva il timestamp.
-Npotrebbe non funzionare e wget verrà sempre scaricato nuovamente. Quindi a volte -ncè la soluzione migliore.
wgetsi lamenterà Last-modified header missing; questa è esattamente la situazione descritta.
Quando si esegue Wget con -ro -p, ma senza -N, -ndo-nc , il ri-download di un file comporterà la nuova copia semplicemente sovrascrivendo il vecchio.
Quindi l'aggiunta -ncimpedirà questo comportamento, causando invece la conservazione della versione originale e l'ignoramento di eventuali copie più recenti sul server.
La risposta che stavo cercando è su https://unix.stackexchange.com/a/9557/114862 .
L'uso del
-cflag quando il file locale ha dimensioni maggiori o uguali alla versione del server eviterà il nuovo download.
wget -i filelist.txt -criprenderà il download non riuscito di un elenco di file.
-ncnon impedisce l'invio della richiesta HTTP e il successivo download del file. Semplicemente non fa nulla dopo aver scaricato il file se il file è già stato completamente recuperato. Esiste un modo per impedire la richiesta HTTP se il file esiste già? stackoverflow.com/questions/33203898/...