Estoy escribiendo un script de shell de Linux para copiar un directorio local a un servidor remoto (eliminando cualquier archivo existente).
Servidor local: ftp
y los lftp
comandos están disponibles, no hay ncftp
ni herramientas gráficas.
Servidor remoto: solo accesible a través de FTP. Sin rsync ni SSH ni FXP.
Estoy pensando en enumerar archivos locales y remotos para generar un script lftp y luego ejecutarlo. ¿Hay una mejor manera?
Nota: Cargar solo archivos modificados sería una ventaja, pero no es obligatorio.
wput
(a wget-como ftp-Registro):wput dir/ ftp://user:pass@host/dir
Respuestas:
lftp debería poder hacer esto en un solo paso, en particular con
lftp mirror
:EDITAR: la sintaxis del comando lftp es confusa, la invocación original que publiqué no funciona. Pruébalo así:
tenga en cuenta las citas alrededor de los argumentos para el
-e
cambio.fuente
Basado en la idea de Phil de usar el modo espejo de lftp, este comando hace el truco:
Un inconveniente es que requiere que el servidor local tenga un servidor FTP en ejecución.
fuente
Esto funcionó para mí, muchos otros intentos estaban fallando. Una vez en lftp, hay más información disponible a través de:
fuente
mirror -R
aquí.Finalmente obtuve la respuesta !!! Crear script de shell ftpmirror.sh
Si el paquete lftp no está instalado, se instala usando yum.
fuente