Este es el ejemplo más simple ejecutando wget:
wget http://www.example.com/images/misc/pic.png
pero ¿cómo hacer wget skip download si pic.png
ya está disponible?
Este es el ejemplo más simple ejecutando wget:
wget http://www.example.com/images/misc/pic.png
pero ¿cómo hacer wget skip download si pic.png
ya está disponible?
Respuestas:
Pruebe el siguiente parámetro:
-nc
,--no-clobber
: omite las descargas que se descargarían en archivos existentes.
Uso de la muestra:
wget -nc http://example.com/pic.png
[ ! -e "$(basename $URL)" ] && wget $URL
--recursive
opción.
La opción -nc
, --no-clobber
no es la mejor solución ya que los archivos más nuevos no se descargarán. En su -N
lugar, debe usar el que descargará y sobrescribirá el archivo solo si el servidor tiene una versión más nueva, por lo que la respuesta correcta es:
wget -N http://www.example.com/images/misc/pic.png
Luego, ejecutando Wget con -N, con o sin
-r
o-p
, la decisión de descargar o no una copia más reciente de un archivo depende de la marca de tiempo local y remota y del tamaño del archivo.-nc
no puede especificarse al mismo tiempo que-N
.
-N
,--timestamping
: Activa el sellado de tiempo.
-N
puede fallar y wget siempre se volverá a descargar. Así que a veces -nc
es mejor solución.
wget
se quejará Last-modified header missing
; Esta es exactamente la situación descrita.
Al ejecutar Wget con -r
o -p
, pero sin -N
, -nd
o -nc
, volver a descargar un archivo dará como resultado que la nueva copia simplemente sobrescriba la anterior.
Por lo tanto, agregar -nc
evitará este comportamiento, en su lugar, se conservará la versión original y se ignorarán las copias más nuevas en el servidor.
La respuesta que estaba buscando está en https://unix.stackexchange.com/a/9557/114862 .
El uso de la
-c
marca cuando el archivo local es de mayor o igual tamaño que la versión del servidor evitará la descarga.
wget -i filelist.txt -c
reanudará una descarga fallida de una lista de archivos.
-nc
no impide el envío de la solicitud HTTP y la posterior descarga del archivo. Simplemente no hace nada después de descargar el archivo si el archivo ya se ha recuperado por completo. ¿Hay alguna forma de evitar hacer la solicitud HTTP si el archivo ya existe? stackoverflow.com/questions/33203898/…