Echa un vistazo a ncftp
, viene con una utilidad (ncftpput
) que se puede programar para este propósito:
$ ncftpput -R ftp.server.com /remote/path /backup
El -R
bandera significa modo recursivo. Puede tener sus datos de autenticación en un archivo separado. Consulte la página de manual (ncftpput(1)
) para más detalles.
Otra alternativa podría ser usar CurlFtpFS, un controlador de sistema de archivos FUSE que expone un host FTP como un directorio montado (lo que le permite acceder a esos archivos con cualquier herramienta normal, incluido cp
). No sé qué tan bien funciona, pero si lo busco rápidamente en Google, parece muy prometedor. CurlFtpFS se remonta más atrás que FUSE en realidad, por lo que debería ser estable.
Para usarlo, instale el paquete apropiado para su distribución (por ejemplo, Arch y Debian usan el nombre del paquete curlftpfs
), cargue el fuse
módulo, y sudo curlftpfs ftp.example.com /mnt/ftp/ -o user=username:password,allow_other
, sustituyendo los valores apropiados para el nombre del servidor, el punto de montaje, el nombre de usuario y la contraseña.
Hay más detalles en la página vinculada, pero eso debería ayudarlo a comenzar.
Podrías usar lftp
lftp ftp://user:[email protected] -e "mirror -e -R /local/folder /remote/folder ; quit"