Estoy tratando de ftp una carpeta usando la línea de comando ftp client, pero hasta ahora solo he podido usar 'get' para obtener archivos individuales.
linux
command-line
ftp
Charles Ma
fuente
fuente

mget, no es recursivo en absoluto. la respuesta del 22 de septiembre de 08 a las 9:01 Thibaut Barrère es más fácil de entender pero debe agregar la opción-l 0como se menciona en los comentariosRespuestas:
Puede confiar en wget, que generalmente maneja ftp get correctamente (al menos en mi propia experiencia). Por ejemplo:
También puede usar el
-mque sea adecuado para duplicar. Actualmente es equivalente a-r -N -l inf.Si tiene algunos caracteres especiales en los detalles de la credencial, puede especificar los argumentos
--usery--passwordpara que funcione. Ejemplo con inicio de sesión personalizado con caracteres específicos:EDITAR Como lo señaló @asmaier, tenga cuidado de que incluso si
-res por recursividad, tiene un nivel máximo predeterminado de 5:Si no quieres perderte las subdirecciones, mejor usa la opción de duplicación
-m:fuente
wget -m(--mirror).wget -restá limitado a una profundidad de recursión de 5 por defecto.--usery--passwordtambién en Red Hat. Mi wget es:GNU Wget 1.11.4 Red Hat modifiedme pregunto si es una cosa de versión o de distro ...-l 0, por lo que no hay necesidad de usar--mirrorque puede tener algunos efectos secundarios no deseados, tales como archivos .listingwget --ask-password -rl 99 ftp://[email protected]. De esta forma, la contraseña no es visiblepsy no permanece en el historial. Por supuesto, por la naturaleza de ftp, se envía sin cifrar al servidor.$), por ejemplo--user='user' --password='pa$$word'Solo para complementar la respuesta dada por Thibaut Barrère.
solía
Tenga en cuenta la doble barra después del nombre del servidor. Si no coloca una barra inclinada adicional, la ruta es relativa al directorio de inicio del usuario.
-nHevita la creación de un directorio con el nombre del servidor-ncevita crear un nuevo archivo si ya existe en el destino (solo se omite)--cut-dirs=5permite tomar el contenido del directorio / absolute / path / to / y colocarlo en el directorio donde inicia wget. El número 5 se usa para filtrar los 5 componentes de la ruta. La doble barra significa un componente adicional.fuente
--ftp-user=USERy--ask-password.fuente
open ftp://USERNAME:PASSWORD@HOSTdespués de comenzar ncftp ...wget, y más rápido también en modo TAR. ¡Gracias!Si
lftpestá instalado en su máquina, usemirror dir. Y ya terminaste. Vea el comentario de Ciro a continuación si desea descargar recursivamente un directorio.fuente
mirror -R dircarga / actualización recursiva de directoriosmirror ./para descargar todos los archivos y carpetas de forma recursiva en la ruta actual.mirror, para el directorio actual y sus subcarpetas.Si puede usar en
scplugar deftp, la-ropción lo hará por usted. Verificaría si puede usar un mecanismo de transferencia de archivos más moderno que FTP.fuente
scpaún intentará usar ssh, que no funcionará si solo tiene credenciales FTP. Se siente raro responder a un comentario de 2008 diciendo que la tecnología que estoy atascado con moderna no es :( bueno de 2008, que cumplió 18 años el día que envió su comentario.Use WGet en su lugar. Es compatible con los protocolos HTTP y FTP.
¡Buena suerte!
referencia: http://linux.about.com/od/commands/l/blcmdl1_wget.htm
fuente
Hay 'ncftp' que está disponible para su instalación en Linux. Esto funciona en el protocolo FTP y se puede usar para descargar archivos y carpetas de forma recursiva. Funciona en Linux. Se ha utilizado y funciona bien para la transferencia recursiva de carpetas / archivos.
Consulte este enlace ... http://www.ncftp.com/
fuente
Si puede, le sugiero encarecidamente
tarybzip(ogziplo que sea que flote su barco) el directorio en la máquina remota: para un directorio de cualquier tamaño significativo, el ahorro de ancho de banda probablemente valdrá la pena el tiempo para comprimir / descomprimir.fuente
Si desea apegarse a la línea de comando FTP, debe probar NcFTP. Luego puede usar get -R para obtener una carpeta de forma recursiva. También obtendrá finalización.
fuente
wget -r ftp://urlFunciona perfectamente para Redhat y Ubuntu
fuente
No deberías usar
ftp. Al igualtelnetque no está utilizando protocolos seguros, y las contraseñas se transmiten en texto claro. Esto hace que sea muy fácil para terceros capturar su nombre de usuario y contraseña.Para copiar directorios remotos de forma remota, estas opciones son mejores:
rsynces la herramienta más adecuada si puede iniciar sesión a través dessh, ya que solo copia las diferencias y puede reiniciarse fácilmente en el medio en caso de que se rompa la conexión.ssh -res la segunda mejor opción para copiar recursivamente estructuras de directorios.Ver:
página de manual de rsync
ssh man page
fuente
alternar la solicitud mediante el comando PROMPT.
Uso:
fuente