如何通过使用ftp或lftprecursion地将目录上传到FTP服务器?

我正在编写一个Linux shell脚本将本地目录复制到远程服务器(删除任何现有的文件)。

本地服务器: ftplftp命令可用, 没有 ncftp或任何graphics工具。

远程服务器:只能通过FTP访问。 没有rsync也不是SSH也不是FXP。

我正在考虑列出本地和远程文件来生成一个lftp脚本,然后运行它。 有没有更好的办法?

注意:只上传修改后的文件将是一个加号,但不是必需的。

    lftp应该能够一步做到这一点,尤其是使用lftp mirror

    编辑:lftp命令语法令人困惑,我贴的原始调用不起作用。 试试像这样:

    lftp -e“mirror -R {local dir} {remote dir}”-u {username},{password} {host}

    注意到 -e开关参数的引号。

    根据Phil使用lftp镜像模式的想法,这个命令可以实现:

     lftp -c 'open -e "mirror /tmp/thedir ftp://nico:mypass@remotehost/~/destination/" ftp://nico:mypass@localhost' 

    缺点是它需要本地服务器运行FTP服务器。

     cd {local_dir} lftp {server} cd {remote_dir} mput {local_dir}/* 

    这为我工作,许多其他尝试失败。 一旦进入lftp,更多信息可通过:

     help mput