有兴趣讨论测试领域的同学请加:412725276

使用jsch 实现远程控制服务器

上一篇 / 下一篇  2013-09-02 22:22:56 / 个人分类:测试技术

在很多自动化测试团队中经常会涉及到远程操控服务器,比如监控服务,HA测试脚本等等。但大多数人都使用expect 或通过本地的shell脚本时时地监控将数据入库,然后通过远程客户端访问数据库来获取状态信息。也有的通过调用telnet 或者ftp等等,但都不够方便,甚至需要安装服务器端等等。

今天通过这篇文章向大家推荐一个更为方便的方式 --->jsch。jsch提供了一系列的API,你可以方便的通过调用jsch的api来实现远程控制各种服务器,操作方便,执行效率高。详细API可参看 http://epaul.github.io/jsch-documentation/javadoc/com/jcraft/jsch/JSch.html

简单示例代码:
Session session = jsch.getSession(user, host, 22);

Channel channel = session.openChannel("shell");

OutputStream inputstream_for_the_channel = channel.getOutputStream();
PrintStream commander = new PrintStream(inputstream_for_the_channel, true);

channel.setOutputStream(System.out, true);

channel.connect();

commander.println("ls -la");    
commander.println("cd folder");
commander.println("ls -la");
commander.println("exit");
commander.close();

do {
    Thread.sleep(1000);
} while(!channel.isEOF());

session.disconnect();

以上代码只是一个简单的示例,详细的实现和丰富的功能请自行参看jsch API介绍文档。

TAG:

 

评分:0

我来说两句

Open Toolbar