1、下载scp和sshexec依赖的包
http://www.jcraft.com/jsch/index.html
本人测试,只能使用0.1.28版本的,下载地址如下:
http://sourceforge.net/project/showfiles.php?group_id=64920&package_id=107616&release_id=414662
2、将下载的jar包拷贝到ant的lib目录中
3、修改build.xml
上传最近修改的文件到远程服务器制定的目录
<scp todir="${server}:${app.dir}" trust="true" verbose="true"> <fileset dir="${app.dir}"> <date datetime="${update.time}" when="after"/> </fileset> </scp>
4、配合ant-contrib中的for任务,一次同步多台服务器
server.url代表以","隔离的多台服务器地址,每个服务器地址的格式:user:password@host
<for list="${server.url}" param="svr"> <sequential> <propertyregex property="@{svr}.user" input="@{svr}" regexp="(.*):" select="\1" /> <propertyregex property="@{svr}.pwd" input="@{svr}" regexp=":(.*)@" select="\1"/> <propertyregex property="@{svr}.host" input="@{svr}" regexp="@(.*)" select="\1"/> <scp todir="@{svr}:${app.dir}" trust="true" verbose="true"> <fileset dir="${app.dir}"> <date datetime="${update.time}" when="after"/> </fileset> </scp> </sequential> </for>