由于您没有指定,我假设您的本地和远程系统是基于 unix 的,因此支持rsync和 ssh。
一个更跨平台的解决方案具有挑战性……
例子
配置 SSH
生成 SSH 密钥(指定一个空密码):
ssh-keygen -f rsync
这将生成 2 个文件,对应于私钥和公钥:
|-- rsync
`-- rsync.pub
在远程服务器上安装公钥
ssh-copy-id -i rsync.pub user@remote
测试您现在可以执行无密码登录,使用 ssh 私钥进行身份验证:
ssh -i rsync user@remote
蚂蚁
“下载”目标调用 rsync 在本地复制远程文件系统树。如果需要,可以另外指定 rsync 排除项(请参阅 rsync 文档)。
<project name="rsync" default="download">
<target name="download">
<exec executable="rsync">
<arg line="-avz -e 'ssh -i rsync' user@remote:/path/to/data/ data"/>
</exec>
</target>
<target name="clean">
<delete dir="data"/>
</target>
</project>