Java远程调用Linux脚本
参考:http://blog.csdn.net/xiao_jun_0820/article/details/26254813
http://blog.csdn.net/a19881029/article/details/20000775

package shell; import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.Charset; import ch.ethz.ssh2.Connection;
import ch.ethz.ssh2.Session; public class RemoteShellTool { private Connection conn;
private String ipAddr;
private String charset = Charset.defaultCharset().toString();
private String userName;
private String password; public RemoteShellTool(String ipAddr, String userName, String password, String charset) {
this.ipAddr = ipAddr;
this.userName = userName;
this.password = password;
if (charset != null) {
this.charset = charset;
}
} public boolean login() throws IOException {
conn = new Connection(ipAddr);
conn.connect(); // 连接
return conn.authenticateWithPassword(userName, password); // 认证
} public String exec(String cmds) {
InputStream in = null;
String result = "";
try {
if (this.login()) {
Session session = conn.openSession(); // 打开一个会话
session.execCommand(cmds); in = session.getStdout();
result = this.processStdout(in, this.charset);
session.close();
conn.close();
}
} catch (IOException e1) {
e1.printStackTrace();
}
return result;
} public String processStdout(InputStream in, String charset) { byte[] buf = new byte[1024];
StringBuffer sb = new StringBuffer();
try {
while (in.read(buf) != -1) {
sb.append(new String(buf, charset));
}
} catch (IOException e) {
e.printStackTrace();
}
return sb.toString();
} /**
* @param args
*/
public static void main(String[] args) { RemoteShellTool tool = new RemoteShellTool("192.168.134.128", "root", "root", "utf-8"); // String result = tool.exec("./test.sh xiaojun");
String result = tool.exec("cd /home;./t.sh");
System.out.println(result); } }

Java远程调用Linux脚本的更多相关文章
- java远程调用linux的命令或者脚本
		转载自:http://eksliang.iteye.com/blog/2105862 Java通过SSH2协议执行远程Shell脚本(ganymed-ssh2-build210.jar) 使用步骤如下 ... 
- JAVA远程执行Shell脚本类
		1.java远程执行shell脚本类 package com.test.common.utility; import java.io.IOException; import java.io.Input ... 
- 使用Runtime.getRuntime().exec()在java中调用python脚本
		举例有一个Python脚本叫test.py,现在想要在Java里调用这个脚本.假定这个test.py里面使用了拓展的包,使得pythoninterpreter之类内嵌的编译器无法使用,那么只能采用ja ... 
- Java代码调用Shell脚本并传入参数实现DB2数据库表导出到文件
		本文通过Java代码调用Shell脚本并传入参数实现DB2数据库表导出到文件,代码如下: import java.io.File; import java.io.IOException; import ... 
- Java实践-远程调用Shell脚本并获取输出信息
		1.添加依赖 <dependency> <groupId>ch.ethz.ganymed</groupId> <artifactId>ganymed-s ... 
- Shell 脚本 —— java 代码远程调用shell脚本重启 tomcat
		个人博客网:https://wushaopei.github.io/ (你想要这里多有) 1.创建maven 工程  maven 依赖: <dependency> <grou ... 
- 用java代码调用shell脚本执行sqoop将hive表中数据导出到mysql
		1:创建shell脚本 touch sqoop_options.sh chmod 777 sqoop_options.sh 编辑文件 特地将执行map的个数设置为变量 测试 可以java代码传参数 ... 
- linux下的shell命令的编写,以及java怎样调用linux的shell命令(java怎样获取linux上的网卡的ip信息)
		程序猿都非常懒,你懂的! 近期在开发中,须要用到server的ip和mac信息.可是server是架设在linux系统上的,对于多网口,在获取ip时就产生了非常大的问题.以下是在windows系统上, ... 
- java中调用js脚本
		JDK1.6加入了对Script(JSR223)的支持.这是一个脚本框架,提供了让脚本语言来访问Java内部的方法.你可以在运行的时候找到脚本引擎,然后调用这个引擎去执行脚本.这个脚本API允许你为脚 ... 
随机推荐
- 吴裕雄--天生自然C++语言学习笔记:C++ 命名空间
			假设这样一种情况,当一个班上有两个名叫 Zara 的学生时,为了明确区分它们,在使用名字之外,不得不使用一些额外的信息,比如他们的家庭住址,或者他们父母的名字等等. 同样的情况也出现在 C++ 应用程 ... 
- jedis的ShardedJedisPool链接池的扩容问题
			回顾上一篇文章jedis连接池的构建. 我们来分析ShardedJedisPool的基于客户端分片所可能带来的问题:扩容 ShardedJedisPool的节点扩容 .ShardedJedisPool ... 
- c++程序—输入
			#include<iostream> using namespace std; #include<string> int main() { string str = " ... 
- 使用模拟器调试react-native步骤(安卓机)
			1.在cmd界面搭建react-native 环境: 可参考https://reactnative.cn/docs/0.51/getting-started.html#content (1)npm i ... 
- jsp页面引入不了js路径没错
			最近搞开发,发现有个jsp页面引入不了js:很是神奇,路径什么的都没问题,同事的浏览器可以加载该js,发现放到其他的文件夹下可以加载该js:当时没研究出来,任务紧就没研究了. 最近闲下来了,有去研究, ... 
- 解决TeamViewer提示商业用途
			安装此插件 提取码:i8o3 
- 如何保障Assignment写作效率?
			有没有因为开学要交的Assignment而日夜赶工.身心俱疲啊?写Assignment确实是个体力+脑力活,要一直保持旺盛的精力并不容易.精神和身体的疲劳会慢慢分散你的注意力,进而影响效率和写作质量. ... 
- HZNU-ACM寒假集训Day8小结 最小生成树
			最小生成树(无向图) Kruskal 给所有边按从小到大排序 形成环则不选择(利用并查集) P1546 最短网络 https://www.luogu.com.cn/problem/P1546 #i ... 
- JavaWeb之搭建自己的MVC框架(二)
			1. 前言 在 JavaWeb之搭建自己的MVC框架(一) 中我们完成了URL到JAVA后台方法的最基本跳转.但是实际操作中会发现有一个不方便的地方,现在在com.mvc.controller包中只有 ... 
- 19 01 11  javascript    获取某一种元素(所有的标签)   以及字符串处理的方法
			获取元素方法二 可以使用内置对象document上的getElementsByTagName方法来获取页面上的某一种标签,获取的是一个选择集,不是数组,但是可以用下标的方式操作选择集里面的标签元素. ... 
