Tengo un directorio web donde almaceno algunos archivos de configuración. Me gustaría usar wget para extraer esos archivos y mantener su estructura actual. Por ejemplo, el directorio remoto se ve así:
http://mysite.com/configs/.vim/
.vim contiene múltiples archivos y directorios. Quiero replicar eso en el cliente usando wget. Parece que no puedo encontrar la combinación correcta de banderas wget para hacer esto. ¿Algunas ideas?
Para descargar un directorio de forma recursiva, que rechaza los archivos index.html * y las descargas sin el nombre de host, el directorio principal y la estructura completa del directorio:
fuente
Para cualquier otra persona que tenga problemas similares. Wget sigue lo
robots.txt
que podría no permitirle tomar el sitio. No te preocupes, puedes apagarlo:http://www.gnu.org/software/wget/manual/html_node/Robot-Exclusion.html
fuente
Debe usar el indicador -m (espejo), ya que se encarga de no meterse con marcas de tiempo y recurrir indefinidamente.
Si agrega los puntos mencionados por otros en este hilo, sería:
fuente
Aquí está el comando wget completo que me funcionó para descargar archivos del directorio de un servidor (ignorando
robots.txt
):fuente
Si
--no-parent
no ayuda, puede usar la--include
opción.Estructura del directorio:
Y desea descargar
downloads/good
pero no eldownloads/bad
directorio:fuente
funciona para mi.
¿Quizás tienes un .wgetrc que está interfiriendo con él?
fuente
Para buscar un directorio de forma recursiva con nombre de usuario y contraseña, use el siguiente comando:
fuente
Wget 1.18 puede funcionar mejor, por ejemplo, me mordió un error de la versión 1.12 donde ...
... solo recupera index.html en lugar de todos los archivos.
La solución consistía en notar algunos redireccionamientos 301 y probar la nueva ubicación: dada la nueva URL, wget obtuvo todos los archivos en el directorio.
fuente
Todo lo que necesitas son dos banderas, una es
"-r"
para recursión y"--no-parent"
(o-np
) para no ir en'.'
y".."
. Me gusta esto:wget -r --no-parent http://example.com/configs/.vim/
Eso es. Se descarga en el siguiente árbol local:
./example.com/configs/.vim
. Sin embargo, si no desea los dos primeros directorios, utilice el indicador adicional--cut-dirs=2
como se sugiere en las respuestas anteriores:wget -r --no-parent --cut-dirs=2 http://example.com/configs/.vim/
Y descargará su árbol de archivos solo en
./.vim/
De hecho, obtuve la primera línea de esta respuesta precisamente del manual de wget , tienen un ejemplo muy claro hacia el final de la sección 4.3.
fuente
La siguiente opción parece ser la combinación perfecta cuando se trata de descargas recursivas:
wget -nd -np -P / dest / dir - http recurrente : // url / dir1 / dir2
Fragmentos relevantes de páginas de manual para mayor comodidad:
fuente
Debería poder hacerlo simplemente agregando un -r
fuente
Esta versión se descarga de forma recursiva y no crea directorios principales.
Uso:
~/.bashrc
o pegar en la terminalwgetod "http://example.com/x/"
fuente