2012-06-20 12 views
11

Ho bisogno di un analogo di rsync per ant. Il problema è quello di copiare i file dalla directory sorgente alla serie di sottodirectory che è stato precedentemente realizzato con lo scriptQualunque analogo di rsync per Ant?

rsync -r --ignore-existing $BASE_DIR/common/config/* $BASE_DIR/config 

Grazie per qualsiasi aiuto

risposta

7

Domanda di zombi, ma postare https://gist.github.com/garethr/878364 nel caso lo avessi mai cercato di nuovo. Incollare il contenuto di Gist nel caso qualcosa qualcosa.

<project name="{{ name }}" default="help" basedir="."> 
<property name="username" value="{{ username }}"/> 
<property name="host" value="{{ host }}"/> 
<property name="dir" value="/srv/{{ path }}/"/> 

<tstamp> 
    <format property="TODAY_UK" pattern="yyyyMMddhhmmss" locale="en,UK"/> 
</tstamp> 

<target name="help" description="show available commands" > 
<exec executable="ant" dir="." failonerror="true"> 
<arg value="-p"/> 
</exec> 
</target> 
<target name="deploy-to" description="show where we are deploying to" > 
<echo>${username}@${host}:${dir}</echo> 
</target> 

<target name="deploy" description="deploy usng rsync" > 
<exec executable="rsync" dir="." failonerror="true"> 
<arg value="-r"/> 
<arg value="."/> 
<arg value="${username}@${host}:${dir}"/> 
<arg value="--exclude-from=rsync.excludes"/> 
<arg value="-v"/> 
</exec> 
</target> 

<target name="deploy-test" description="test deploy usng rsync with the dry run flag set" > 
<exec executable="rsync" dir="." failonerror="true"> 
<arg value="-r"/> 
<arg value="."/> 
<arg value="${username}@${host}:${dir}"/> 
<arg value="--exclude-from=rsync.excludes"/> 
<arg value="--dry-run"/> 
<arg value="-v"/> 
</exec> 
</target> 

<target name="backup" description="backup site" > 
<exec executable="scp" dir="." failonerror="true"> 
<arg value="-r"/> 
<arg value="${username}@${host}:${dir}"/> 
<arg value="backups/${TODAY_UK}"/> 
</exec> 
</target> 

</project>