java中在linux上执行脚本命令,可跨服务器SSH

// 创建JSch对象
JSch jsch = new JSch();
// 用户名
String userName = "linux的用户名";
// 密码
String password = "linux的密码";
// 服务器地址
String host = "linux的ip地址";
// 端口号
int port = 22;
// 要运行的命令
String cmd = "rm -rf -*";
// 根据用户名,主机ip,端口获取一个Session对象
Session session = jsch.getSession(userName, host, port);
// 设置密码
session.setPassword(password);
Properties config = new Properties();
config.put("StrictHostKeyChecking", "no");
// 为Session对象设置properties
session.setConfig(config);
int timeout = 60000000;
// 设置timeout时间
session.setTimeout(timeout);
// 通过Session建立链接
long start = System.currentTimeMillis();
session.connect();
ChannelExec channelExec = (ChannelExec) session.openChannel("exec");
channelExec.connect();
channelExec.setCommand(cmd);
channelExec.setErrStream(System.err);
channelExec.setInputStream(System.in);
channelExec.setExtOutputStream(System.out);
InputStream in = channelExec.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in, Charset.forName("UTF-8")));
String buf;
StringBuffer sb = new StringBuffer();
while ((buf = reader.readLine()) != null) {
   sb.append(buf);
   // 打印控制台输出
   System.out.println(buf);
}
long end = System.currentTimeMillis();
System.out.println("共耗时:" + (end - start) / 1000 + "秒");
reader.close();
channelExec.disconnect();
session.disconnect();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值