There is a <record> task in Ant so you could save the Ant output during the Ant Build. Here is an example.
1. build.xml
<project name="ant-recorder-example" default="record" basedir=".">
<target name="record">
<record name="${basedir}/build.log" action="start" append="yes"/>
<!--
Whatever ant tasks being executed here,
the output would be recorded by the recorder
-->
<echo message="Hello world"/>
<echo message="All the above output will be recorded down in the build.log."/>
<echo message="After the run, check the build.log."/>
<record name="${basedir}/build.log" action="stop" append="yes"/>
</target>
</project>
The Ant-Contrib library also provides u a <for> task to do iteration. Here is an simple Ant example which read a text files and print it to the Ant build output.
The WordPress.com stats helper monkeys prepared a 2013 annual report for this blog.
Here’s an excerpt:
The Louvre Museum has 8.5 million visitors per year. This blog was viewed about 660,000 times in 2013. If it were an exhibit at the Louvre Museum, it would take about 28 days for that many people to see it.
We can use the --bwlimit to limit the bandwidth being used by the rsync command. Here is an example which transfer the local files to a remote server using ssh+rysnc.