Questo è esempio più semplice esecuzione wget:Ignora download se i file esistono in wget?
wget http://www.example.com/images/misc/pic.png
ma come fare wget saltare download se pic.png
è già disponibile?
Questo è esempio più semplice esecuzione wget:Ignora download se i file esistono in wget?
wget http://www.example.com/images/misc/pic.png
ma come fare wget saltare download se pic.png
è già disponibile?
provare il seguente parametro:
-nc
,--no-clobber
: saltare download che scaricherebbe a file esistenti.
utilizzo Esempio:
wget -nc http://example.com/pic.png
Eseguendo Wget con -r
o -p
, ma senza -N
, -nd
o -nc
, ri-scaricare un file comporterà la nuova copia semplicemente sovrascrivendo il vecchio.
Quindi l'aggiunta di -nc
impedirà questo comportamento, causando invece la versione originale da conservare e le eventuali copie più recenti sul server da ignorare.
L'opzione -nc
, --no-clobber
non è la soluzione migliore in quanto i file più recenti non verranno scaricati. Si dovrebbe usare -N
invece che scaricare e sovrascrivere il file solo se il server dispone di una versione più recente, quindi la risposta corretta è:
wget -N http://www.example.com/images/misc/pic.png
Poi esecuzione Wget con -N, con o senza
-r
o-p
, la decisione se scaricare o meno una copia più recente di un file dipende dalla data e ora locale e remota e dalla dimensione del file.-nc
non può essere specificato nello stesso tempo come-
N.
-N
,--timestamping
: Attiva marcatura temporale.
Quando il server non è configurato correttamente '-N' potrebbe fallire e wget scaricherà sempre di nuovo. Quindi a volte '-nc' è la soluzione migliore. – user
quale potrebbe essere lo scenario applicabile in cui "Quando il server non è configurato correttamente" si verificherebbe? – AjayKumarBasuthkar
quando si esegue il download da una posizione che è stata copiata, cambiando tutti i timestamp. – Robert
La risposta che cercavo è https://unix.stackexchange.com/a/9557/114862.
L'utilizzo del flag
-c
quando il file locale è di dimensioni maggiori o uguali alla versione del server eviterà il ri-download.
'-nc' non 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 comunque la possibilità di impedire la richiesta HTTP se il file esiste già? http://stackoverflow.com/questions/33203898/wget-skip-download-if-file-already-exists – ma11hew28
Come indicato nella domanda collegata, non sono d'accordo - Se non viene utilizzato nessun clobber e il nome del file esiste, viene chiuso. Nessuna richiesta HEAD nemmeno. Anche se così non fosse, controlla se hai un file con cui iniziare :-) '[! -e "$ (basename $ URL)"] && wget $ URL' – plundra
Penso che potrei ottenere risultati diversi perché sto usando l'opzione '--recursive'. – ma11hew28