ant使用ssh和linux交互 如:上传文件
来源:互联网 发布:sql server 权限管理 编辑:程序博客网 时间:2024/06/02 21:50
转载自:http://jiajun.iteye.com/blog/741001
背景:
ant生成jar包之后,每次都要往目标机器上拷贝部署,真是难受。
本机又是Windows ,运行机器是linux,如何办?来个共享?安装samba?
高人指点,采用ftp,要去配置个ftp还是不爽的事情,想既然ant支持ftp肯定考虑支持sftp等关于ssh的功能,一查发现,果然还是支持的。兴奋!
一、寻找资源文件
看ant的文档:
http://ant.apache.org/manual/Tasks/scp.html
在依赖的jar包列表 http://ant.apache.org/manual/install.html#librarydependencies 中找到
jsch.jar 0.1.42 or later
进入http://www.jcraft.com/jsch/index.html 找到下载地址:http://sourceforge.net/projects/jsch/files/jsch/jsch-0.1.43.jar/download
源码地址:http://sourceforge.net/projects/jsch/files/jsch/jsch-0.1.43.zip/download
二、测试可行性
下载后,放入自己的ant下的lib文件夹下,如果是eclipse需要加入运行环境window->preferences->ant->runtime->classpath中加入jsch-0.1.43.jar
例子,可以采用http://ant.apache.org/manual/Tasks/scp.html里面的examples,还挺全的,拷贝单个文件,拷贝文件夹,设置密码,设置私钥等
scp
下面亲自测试几个:
- <target name="scp-file">
- <scp file="jar/fetch.jar" todir="uu:123@192.168.0.175:/home/uu/fetch" />
- </target>
- <target name="scp-folder">
- <scp todir="uu:123@192.168.0.175:/home/uu/fetch" >
- <fileset dir="jar"/>
- </scp>
- </target>
com.jcraft.jsch.JSchException: reject HostKey: 192.168.0.175
会有以上的异常,奇怪的官方文档不说。要求你所连接的host必须存在于你的knownhosts文件中,并且 这个文件也必须是存在的,否则会出现上面的异常。
解决方法:
- <target name="scp-file">
- <scp file="jar/fetch.jar" todir="uu:123@192.168.0.175:/home/uu/fetch" <span style="color: #ff0000;">trust="true"</span>
- />
- </target>
- <target name="scp-folder">
- <scp todir="uu:123@192.168.0.175:/home/uu/fetch" <span style="color: #ff0000;">trust="true"</span>
- >
- <fileset dir="jar"/>
- </scp>
- </target>
sshexec
再测试一下诱惑人的可执行shell功能,文档地址;http://ant.apache.org/manual/Tasks/sshexec.html
- <target name="sshexec">
- <sshexec host="192.168.0.175"
- username="uu"
- password="123"
- command="touch somefile;ls;df -h;" trust="true"/>
- </target>
若个命令可以用;号隔开。
关于拷贝远程到本地,拷贝本地到远程,选取特定文件等等,都是变通可行的,本文就不再演示了。
- ant使用ssh和linux交互 如:上传文件
- ssh上传和下载linux文件命令
- 使用ssh上传文件
- 使用ant将文件从Windows上传至Linux
- ssh和ajax上传文件
- 使用Ant进行ssh和scp操作
- 使用Ant进行ssh和scp操作
- 使用Ant进行ssh和scp操作
- 使用Ant进行ssh和scp操作
- 使用Ant进行ssh和scp操作
- 使用ant的scp和ssh命令
- linux ssh上传和下载
- 使用SSH 让Linux与windows交互
- 使用Plink -ssh与Linux交互
- Linux下通过SSH快速的和本地进行文件的交互的方法
- windows客户端 ssh 向 linux 上传文件
- linux下面用ssh上传,下载文件
- linux下面用ssh上传,下载文件
- const各种用法总结
- http 请求头信息解释
- 红色警戒2共和国之辉联机教程(兼容到win10)
- 搭建Zookeeper服务器集群
- 研发人员应对需求的言与行
- ant使用ssh和linux交互 如:上传文件
- Java中long和Long有什么区别(转)
- 20170605初学笔记之python
- Fragment 使用hide和show,使用onHiddenChanged代替执行生命周期
- iOS自带超强中文分词器
- Android应用程序的安装位置
- 抽象工厂模式(Abstract Factory)
- BFS求多特征点最短路 以及 二维“和数组”
- iOS 【AppStore 上架时由于 ipv6 原因被拒】