La forma más fácil de duplicar el directorio a través de FTP

9

Quiero duplicar un directorio en un servidor FTP al que estoy conectado desde mi Mac a través de la línea de comandos

Digamos que tengo file. Quiero tener files2con todos filelos subdirectorios y archivos, en el mismo directorio que el original. ¿Cuál sería la forma más sencilla de lograr esto?

EDITAR:

Con mgety mputpuede descargar todos los archivos y cargarlos nuevamente en una carpeta diferente, pero esto definitivamente NO es lo que quiero / necesito (comencé esta pregunta tratando de evitar la duplicación con este método de carga desde el cliente dektop)

Trufa
fuente

Respuestas:

8

Lo que tienes no es una línea de comandos de Unix, lo que tienes es una sesión FTP. FTP está diseñado principalmente para cargar y descargar archivos, no está diseñado para la administración general de archivos y no le permite ejecutar comandos arbitrarios en el servidor. En particular, hasta donde yo sé, no hay forma de activar una copia de archivo en el servidor: todo lo que puede hacer es descargar el archivo y luego subirlo con un nombre diferente.

Algunos servidores admiten extensiones al protocolo FTP, y es remotamente posible que una de estas extensiones le permita copiar archivos remotos. Pruebe help siteo remotehelppara ver qué extensiones admite el servidor.

Si desea una línea de comandos de Unix, necesita acceso de shell remoto, a través de rsh ( r emote sh ell) o más comúnmente en el ssh del siglo XXI ( s ecure sh ell). Si se trata de un servidor web, verifique si proporciona acceso ssh. De lo contrario, póngase en contacto con el administrador del sistema. Pero no se sorprenda si la respuesta es no: el acceso a la línea de comandos sería una violación de seguridad en algunas configuraciones multiusuario, por lo que puede haber una razón legítima por la que no se ofrece.

Gilles 'SO- deja de ser malvado'
fuente
¡Lo comprobaré, creo que esto resume muy bien todo el asunto! ¡¡muchas gracias!!
Trufa
Solo para aclarar, Hostgator ofrece ssh encarcelado en cuentas compartidas.
Trufa
4

Aquí se explica cómo hacerlo con lFTP :

# lftp ftp_host
user ftp_user ftp_pass
mirror source target (download entire directory tree)
mirror -R source target (reverse mirror; upload entire directory tree)
mbrixner
fuente
1

Esto está mal ahora, pero no se borra para que el árbol de comentarios no se pierda

cpcopia archivos y directorios; puedes darle la -rbandera para que copie recursivamente todo. De la carpeta que contiene file:

$ cp -r file files2

Michael Mrozek
fuente
Parece que no funciona, no mencioné (porque pensé que sería lo mismo) que estoy tratando de hacer esto a través de una conexión FTP establecida desde un terminal mac. Me da este error: no se encontró la macro 'cp'. Gracias
Trufa
2
@Trufa ¡Oh! No, eso es bastante diferente; FTP y la línea de comandos están completamente separados. Edité su pregunta para aclararla con suerte
Michael Mrozek
Lo siento mucho, pensé que no me importaría porque "estaba usando la línea de comandos de UNIX a través de FTP", ¡obviamente este no es el caso! Gracias por la edición !!
Trufa
¿Es esta una pregunta para stackoverflow? puede ser más una cuestión de programación que UNIX, no estoy seguro.
Trufa
2
@Trufa Definitivamente no SO. Quizás SU, pero creo que está bien aquí
Michael Mrozek
1

LFTP admite comandos de nivel superior por encima de lo que proporciona el protocolo FTP, por ejemplo, su mirrorcomando proporciona lo que desea.

Hay otros programas con características similares; Sitecopy es otro ejemplo.

efímero
fuente
Gracias "" se ve bien, echaremos un vistazo! Una pregunta más, ¿cuando accedo a través del cPanel al administrador de archivos? ¿Qué estoy haciendo? Porque parece mucho más rápido hacer algunas cosas que a través de ftp.
Trufa