日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[转]使用Ant进行ssh和scp操作

發布時間:2024/4/15 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转]使用Ant进行ssh和scp操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


轉自:http://www.blogjava.net/Unmi/archive/2006/01/03/124033.html

?

現在我們安裝Linux的時候通常考慮到安全因素(默認情況下)是不打開telnet服務的,而ssh服務是有的,ant很早就支持telnet,但要求我們在Linux下要安裝telnet-server,并要啟用該服務。

還好自Ant1.60開始支持了SSH 及SCP 操作了,早在Ant之前若要支持SSH、SCP、SFTP等任務就必須下載j2ssh的j2ssh-ant.jar和j2ssh-core.jar(在http://www.sourceforge.net的j2ssh下有下載)。現在可以使用Ant提供的Sshexec和scp任務,由$ANT_HOME/lib/ant-jsch.jar提供支持,但是同樣你也要在http://www.jcraft.com/jsch/index.html下載一個依賴包jsch-0.1.24.jar(文件名因版本而不同),jsch同樣也是http://www.sourceforge.net下的一個項目。

你需要把下載的jsch-0.1.24拷貝到$ANT_HOME/lib下,如果是Eclipse下的Ant環境必須在Window->Preferences->Ant->Runtime->Classpath中加入jsch-0.1.24。

JSch是一個SSH2的純Java實現
JSch允許你連接到sshd server并采用端口映射, X11 映射; Scp文件傳輸等,你可以把集成JSch提供的功能到你自己的Java項目中,JSch 的授權方式為 BSD形式。

下面是用JSch完成Sshexec和scp兩個任務的最簡單例子,如果需要更詳細的內容,請參考Ant用戶手冊

[Sshexec任務]
<BR><target?name="sshexec">
??????<sshexec?host="192.168.122.180"?username="root"??password="123456"
?????????trust="true"?command="cd?/;ls"/>
</target>

注 意上面的trust屬性一般設置為true, 如果為默認值false時,那么就要求你所連接的host必須存在于你的knownhosts文件中,并且 這個文件也必須是存在的,否則會出現 com.jcraft.jsch.JSchException: reject HostKey: 192.168.122.180異常。執行Linux下的命令時可以用分號";"把多個命令隔開,它們將會依次執行,而不需要寫多個sshexec進行多 次連接,每次連接只執行一個命令。

該任務的執行后輸出結果如下:

sshexec:
? [sshexec] Connecting to 192.168.122.180:22
? [sshexec] backup
? [sshexec] bin
? [sshexec] boot
? [sshexec] dev
? [sshexec] etc
? ...................

[scp任務]

1.拷貝單個文件到遠端服務器
<scp?file="c:/cmd.txt"?todir="root:123456@192.168.122.180:/tmp"?trust="true"/>

<scp?file="c:/cmd.txt"?todir="root@192.168.122.180:/tmp"?password="123456"?trust="true"/>

2.拷貝遠端文件本地
<scp?file="root:123456@192.168.122.180:/tmp/cmd.txt"?todir="D:/my-app"??trust="true"/>

3.拷貝遠端目錄到本地,將以遞歸形式操作
<scp?file="root:123456@192.168.122.180:/tmp/*"?todir="d:/my-app"?trust="true"/>

4.拷貝本地目錄中的內容到遠端,遞歸形式,但不在服務器上建立my-app目錄
<scp?todir="root:123456@192.168.122.180:/tmp/"?trust="true">
???<fileset?dir="d:/my-app"/>
</scp>

5.拷貝一系列的文件到遠端,會建立相應的層次目錄,不建立my-app目錄
<scp?todir="root:123456@192.168.122.180:/tmp"?trust="true">
???<fileset?dir="d:/my-app">
??????<include?name="**/*.java"?/>
???</fileset>
</scp>

<scp?todir="root:123456@192.168.122.180:/tmp"?trust="true">
???<fileset?dir="d:/my-app"?excludes="**/*.java"/>
</scp>

最后一個任務的執行輸出結果如下(其他略):

scp:
????? [scp]Connecting to 192.168.122.180:22
????? [scp] Sending: cmd.txt : 0
????? [scp] File transfer time: 0.0 Average Rate: ? B/s
????? [scp] Sending: pom.xml : 852
????? [scp] File transfer time: 0.0 Average Rate: ∞ B/s
????? [scp] Sending: application.properties : 142
????? [scp] File transfer time: 0.0 Average Rate: ∞ B/s
????? [scp] Sending: application.properties : 45
????? [scp] File transfer time: 0.0 Average Rate: ∞ B/s
????? [scp] Sending: test.properties : 0
????? [scp] File transfer time: 0.02 Average Rate: 0.0 B/s
????? [scp] Sending: application.properties : 153
????? [scp] File transfer time: 0.0 Average Rate: ∞ B/s
????? [scp] Sending: application.properties : 45
????? [scp] File transfer time: 0.0 Average Rate: ∞ B/s
????? [scp] done.

[Unmi 后注]前面的內容很多都是直接在這里可視化編輯的,如改變字體顏色,大小什么的,這樣做發現生成的HTML垃圾代碼實在是太多,以后對于內容稍稍豐富的文 章還是在外部編輯器如Dreamweaver編輯好了再貼到這里好一點,并且更能作本地備份,以免意外,當然簡單內容這里直接寫也無妨。

?

轉載于:https://www.cnblogs.com/treeyh/archive/2009/04/24/1442988.html

總結

以上是生活随笔為你收集整理的[转]使用Ant进行ssh和scp操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。