¿Cómo uso FTP a través de la línea de comandos para descargar todos los archivos?

5

Intenté usar Filezilla y Cyberduck para la transferencia de archivos a través de un simple servidor FTP. Los problemas que tengo son:

  • Filezilla: cuando lo uso para transferir archivos, verifico el "Monitor de actividad", el uso de "% CPU" es como 150% - 200%. Me quedé impactado. Mi mac comienza a retrasarse, así que lo detengo.

  • Cyberduck: cuando descargo una carpeta desde ftp, aproximadamente 60 mb, dentro tengo archivos pequeños (* .php, * .jpg, etc.). Tardó aproximadamente 8 horas en descargar los archivos (hay una indicación de tiempo de cuánto tiempo queda en Cyberduck). Si uso filezilla, solo toma alrededor de 1-3 minutos. Noté que cuando uso Cyberduck, primero establece los permisos, no transfiere los archivos directamente. Y tomó bastante tiempo.

Por lo tanto, fui a Google y descubrí que Mac puede usar Terminal para conectarse al servidor FTP y descargar archivos.

ftp hostname
mget * (download all the files)

Ahora, otro problema, digamos, en mi ftp tengo:

- blog(folder)
    - php(folder)
    - img(folder)
- others folder

Quiero descargar el "blog" y sus carpetas y archivos posteriores. ¿Puedo hacerlo en 1 línea de comando? Si no, ¿cómo descargar mi carpeta de "blog"?

Recuerdo que en el comando unix / linux, hay algo como esto:

- remove -R blba

que elimina la carpeta blba de forma recursiva (sus carpetas y archivos subsiguientes), me pregunto si el comando ftp del terminal de mac puede admitir esto.

Por favor avise

    
pregunta jiali 18.10.2011 - 05:52

3 respuestas

4

El programa curl podría ayudarlo a descargar un archivo FTP, pero se especializa en URL únicas (http, ftp, etc.). Es posible usar Perl para escribir algo en la lista y luego descargarlo, ¡pero es mucho más fácil de usar wget!

Sin embargo, wget no es un programa estándar de OSX, por lo que tendrá que descargarlo, compilarlo e instalarlo manualmente (tarea relativamente sencilla, siempre que tenga instalado Xcode).

  1. Instale Xcode desde la App Store .
  2. Descargue la fuente de wget
  3. Abra una Terminal en el directorio donde guardó la fuente.

Ejecuta los siguientes comandos:

    $ tar xfvz wget-latest.tar.gz
    $ cd wget-*
    $ ./configure && make

El binario wget se producirá en un subdirectorio src. Desde aquí puede ejecutar el binario directamente como ./src/wget o instalarlo en / usr / local / bin:

    $ sudo make install

Ahora, solo necesita ejecutar wget -r ftp://username:passwd@server/path/to/download y su sitio FTP se descargará de forma recursiva desde esa ruta.

Solo recuerda que / path / to / download es relativo al nombre de usuario con el que inicias sesión ... y las contraseñas de FTP son notoriamente inseguras :)

    
respondido por el adamrmcd 18.10.2011 - 08:00
1

Si desea continuar sin Xcode, también puede usar curlmirror que se basa en curl que ya está Se suministra con OSX. En caso de que obtenga el script del sitio web vinculado anteriormente, debe cambiar el nombre de la primera línea a #!/usr/bin/perl en un editor de texto de su elección.

    
respondido por el nohillside 18.10.2011 - 16:08
0

Le sugiero que cambie a la última compilación de instantáneas de Cyberduck que debería mejorar la inicialización de la transferencia de descargas.

    
respondido por el David Kocher 26.10.2011 - 20:00

Lea otras preguntas en las etiquetas