Ant, download fileset from remote machine

后端 未结 1 954
轮回少年
轮回少年 2020-11-28 16:41

As I\'ve readen ant doesn\'t provide \'fileset\' attribute when downloading files from remote machine via scp task. It works when sending files from local machine, but It do

相关标签:
1条回答
  • 2020-11-28 17:23

    Since you haven't specified I'll assume that your local and remote systems are unix based and therefore support rsync and ssh.

    A more cross-platform solution is challenging...

    Example

    Configure SSH

    Generate an SSH key (specify an empty passphrase):

    ssh-keygen -f rsync
    

    This will generate 2 files, corresponding to the private and public keys:

    |-- rsync
    `-- rsync.pub
    

    Install the public key on the remote server

    ssh-copy-id -i rsync.pub user@remote
    

    Test that you can now perform a password-less login, using the ssh private key to authenticate:

    ssh -i rsync user@remote
    

    ANT

    The "download" target invokes rsync to copy the remote file system tree locally. If required one can additionally specify rsync exclusions (see the 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>
    
    0 讨论(0)
提交回复
热议问题