`
xtqryv
  • 浏览: 21667 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用scp和sshexec同步更新文件

阅读更多

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>

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics