从远程计算机上的蚂蚁,下载文件集(Ant, download fileset from remote

2019-06-17 22:01发布

正如我读进来的蚂蚁不提供“文件集”属性通过scp任务下载从远程计算机文件时。 从本地计算机发送文件时,它的工作原理,但在远程机器启动时它不工作。 这是一个从文档。 因此,在远程机器我在每一个目录中的一些文件夹和文件的负载。 我想从他们每个人的下载所有文件夹和一个指定的文件。 下载的所有文件,然后删除不需要的文件将不会解决怎么一回事,因为有成千上万的文件。

所以。 如何下载的所有文件夹在远程计算机(只创建不上内容光盘)从指定的目录,然后在远程机器上的每个目录下载一个指定的文件,并把它用蚂蚁对应的文件夹?

Answer 1:

既然你没有指定我会假设你的本地和远程系统是基于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的DOCO)。

<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>


文章来源: Ant, download fileset from remote machine