linux - usar - ¿Cómo puedo duplicar un directorio con wget sin crear directorios principales?
wget example (3)
Quiero duplicar una carpeta a través de FTP, así:
wget --mirror --user=x --password=x ftp://ftp.site.com/folder/subfolder/evendeeper
Pero no quiero crear una estructura de directorios como esta:
ftp.site.com -> carpeta -> subcarpeta -> evendeeper
Sólo quiero:
evendeeper
Y cualquier cosa debajo de ella es la estructura resultante. También sería aceptable que los contenidos de evendeeper
en el directorio actual, siempre y cuando se creen subdirectorios para los subdirectorios de evendeeper
en el servidor.
Soy consciente de la opción -np
, de acuerdo con la documentación que simplemente evita que siga enlaces a páginas principales (un problema para los archivos binarios que estoy duplicando a través de FTP). También conozco la opción -nd
, pero esto impide crear cualquier estructura de directorio, incluso para los subdirectorios de evendeeper
.
Consideraría alternativas siempre y cuando estén basadas en línea de comandos, estén disponibles como paquetes de Ubuntu y sean fácilmente automatizadas como wget.
En lugar de usar:
-nH --cut-dirs=1
utilizar:
-nH --cut-dirs=100
Esto cortará más directorios y no se crearán carpetas.
Nota: 100 = la cantidad de carpetas para omitir la creación. Puedes cambiar 100 a cualquier número.
Para una ruta como: ftp.site.com/a/b/c/d
-nH
descargaría todos los archivos al directorio a/b/c/d
en el directorio actual, y -nH --cut-dirs=3
descargaría todos los archivos al directorio d
en el directorio actual.
-np
opción -np
(sin padre) probablemente hará lo que usted quiera, atada con -L 1
(creo que no tengo una instalación de wget antes que yo), lo que limita la recursión a un nivel.
EDITAR. De acuerdo. Gah ... tal vez debería esperar hasta que haya tomado café. Hay una opción --cut
o similar, que le permite "cortar" un número específico de directorios desde la ruta de salida, por lo que para /a/b/c/d
, un corte de 2 obligaría a wget a crear c/d
en su máquina local