我正在编写一个Linux shell脚本将本地目录复制到远程服务器(删除任何现有的文件)。
本地服务器: ftp和lftp命令可用, 没有 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