Wget mirror

De Ardemans Wiki
Revisión a fecha de 14:25 23 abr 2015; Pmblanco (Discusión | contribuciones)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

Introducción

A raiz de la necesidad de replicar el repositorio de nodejs en un servidor interno (porque las máquinas que van a instalar paquetes no tienen acceso a internet) se me ocurrió buscar información sobre como hacer un mirror con WGET de un site remoto

Comando

El comando final que he usado es

wget -e robots=off --mirror -nH --no-parent --reject="index.html*" -I /dist/v0.10.0/ https://nodejs.org/dist/v0.10.0/

La explicación es la siguiente:

con el -e robots=off desactivamos la lectura del fichero robots, que impecía que pudiera hacer el mirror sobre el directorio /dist

--mirror atajo para -N -r -l inf --no-remove-listing,

estos parámetros son:

-N para que no se descargue el fichero si el de origen no es mas nuevo que el destino -r para que sea recursivo en los enlaces -l inf, para profundidad infinita -no-remove-listing, para no borrar los ficheros .listing


Además, a nuestro comando añadimos los siguientes parámetros:

-nH, para que en el directorio de destion no incluya un directorio padre con el nombre del host

--no-parent, supestamente no asciende al directorio raiz para descargarse contenido, pero no me ha funcionado del todo

--reject="index.html*", no se descarga los ficheros index.html*, ya que ese fichero es el que nos devuelve con la lista de ficheros, y realmente no existe, es por así decirlo virtual. De esta forma se borra

-I /dist/v0.10.0/ solo nos copia los enlaces que cumplan con ese patron, así evitamos descargar enlaces de fuera de este patron o del directorio padre