2012-06-20 12 views
11

Necesito un análogo de rsync para hormiga. La cuestión es copiar los archivos del directorio de origen en el conjunto de subdirectorios que anteriormente se logra con la escritura¿Algún análogo de rsync para Ant?

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

Gracias por cualquier ayuda

Respuesta

7

Pregunta de Zombie pero publicando https://gist.github.com/garethr/878364 en caso de que alguna vez lo busque yo mismo otra vez. Pegando el contenido de Gist en caso de que haya algo.

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