esto es ejemplo más simple ejecutando wget:¿Saltar la descarga si los archivos existen en wget?
wget http://www.example.com/images/misc/pic.png
pero cómo hacer saltar wget descarga si pic.png
ya está disponible?
esto es ejemplo más simple ejecutando wget:¿Saltar la descarga si los archivos existen en wget?
wget http://www.example.com/images/misc/pic.png
pero cómo hacer saltar wget descarga si pic.png
ya está disponible?
Prueba el siguiente parámetro:
-nc
,--no-clobber
: Skip descargas que descargar a archivos existentes.
Ejemplo de uso:
wget -nc http://example.com/pic.png
Cuando se ejecuta con Wget -r
o -p
, pero sin -N
, -nd
, o -nc
, volver a descargar un archivo dará lugar a la nueva copia simplemente sobrescribir la antigua.
Así que al agregar -nc
se evitará este comportamiento, en cambio, se preservará la versión original y se ignorarán las copias más recientes en el servidor.
La opción -nc
, --no-clobber
no es la mejor solución como archivos nuevos no será descargado. Se debe utilizar -N
vez que se descarga y sobreescribir el archivo sólo si el servidor tiene una versión más reciente, por lo que la respuesta correcta es:
wget -N http://www.example.com/images/misc/pic.png
A continuación, se ejecuta con Wget -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 se pueden especificar al mismo tiempo que-
N.
-N
,--timestamping
: Activar el sellado de tiempo.
Cuando el servidor no está configurado correctamente '-N' puede fallar y wget siempre se volverá a descargar. Entonces, a veces '-nc' es una mejor solución. – user
¿cuál podría ser el escenario aplicable donde ocurriría 'Cuando el servidor no está configurado correctamente'? – AjayKumarBasuthkar
cuando está descargando desde una ubicación que fue copiada, cambiando todas las marcas de tiempo. – Robert
La respuesta que estaba buscando está en https://unix.stackexchange.com/a/9557/114862.
El uso del indicador
-c
cuando el archivo local es de mayor o igual tamaño que la versión del servidor evitará volver a descargarlo.
'-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? http://stackoverflow.com/questions/33203898/wget-skip-download-if-file-already-exists – ma11hew28
Tal como se indica en la pregunta vinculada, no estoy de acuerdo: si se usa no-clobber y existe el nombre de archivo, sale. Sin solicitud HEAD incluso. Incluso si este no fuera el caso, verifique si tiene un archivo para comenzar :-) '[! -e "$ (basename $ URL)"] && wget $ URL' – plundra
Creo que puedo obtener resultados diferentes porque estoy usando la opción '--recursive'. – ma11hew28