2009-07-31 14 views
5

Deseo descargar solo archivos .htm o .html de mi servidor. Estoy tratando de usar ncftpget e incluso wget, pero solo con un éxito limitado.¿Cómo puedo ftp recurrentemente solo ciertos tipos de archivos desde un servidor Linux usando la línea de comando?

con ncftpget Puedo descargar toda la estructura de árbol sin problema pero parece que no puedo especificar qué archivos quiero, es todo o nada.

Si especifico el tipo de archivo de este tipo, que sólo se ve en la carpeta superior:

ncftpget -R -u myuser -p mypass ftp://ftp.myserver.com/public_html/*.htm ./local_folder 

Si hago esto, se descarga todo el sitio y los archivos no sólo .htm:

ncftpget -R -u myuser -p mypass ftp://ftp.myserver.com/public_html/ ./local_folder *.htm 

¿Puedo usar ncftp para hacer esto, o hay otra herramienta que debería usar?

Respuesta

4

Puede hacerlo con wget

wget -r -np -A "*.htm*" ftp://site/dir 

o:

wget -m -np -A "*.htm*" ftp://user:[email protected]/dir 

Sin embargo, según Types of Files:

Tenga en cuenta que estas dos opciones no afectan a la descarga de HTML archivos (según lo determinado por un prefijo de nombre de archivo .htm o .html). Este comportamiento puede no ser deseable para todos los usuarios y puede cambiarse para versiones futuras de Wget.

+0

Debe escapar '* .htm *' para pasarlo a wget con ''* .htm *'' por ejemplo. – Jazz

0

¿Entiende ncftpget dir globs?

Trate

ncftpget -R -u myuser -p mypass ftp://ftp.myserver.com/public_html/**/*.htm ./local_folder 

** significa cualquier número de directorios.

+0

no funciona –

0

El comando wget entiende la sintaxis permanente del archivo unix globbing.

wget -r -np --ftp-user=username --ftp-password=password "ftp://example.com/path/to/dir/*.htm" 

Por el contrario, puede utilizar la opción -A, que acepta una lista separada por comas de sufijos de nombre de archivo o patrones a aceptar.

wget -A '*.htm' 

La opción -R es lo contrario de -A, por lo que puede usarlo para especificar patrones de NO a buscar.

Advertencia: ¡Asegúrate de citar los patrones! De lo contrario, su shell puede expandir el glob por sí mismo, lo que lleva a resultados inesperados.

También! Consulte la pregunta "Using wget to recursively download whole FTP directories" en Server Fault.

Cuestiones relacionadas