Runtime.getRuntime().exec执行scp失败
来源:互联网 发布:淘宝网充值 编辑:程序博客网 时间:2024/05/21 02:22
1.本地scp命令正常
[root@hadron ~]# scp /root/scripts/* 192.168.1.157:/optStep1.sh 100% 340 0.3KB/s 00:00 Step2.sh 100% 12 0.0KB/s 00:00 Step3.sh
2 Java源码
package util;import java.io.IOException;import java.io.InputStreamReader;import java.io.LineNumberReader;import java.net.InetAddress;import java.net.UnknownHostException;public class LocalCommand { public static final String getIP(){ try { InetAddress ia = InetAddress.getLocalHost(); return ia.getHostAddress(); } catch (UnknownHostException e1) { e1.printStackTrace(); return null; } } public static final String exe(String cmd){ StringBuffer sb=null; Process process=null; LineNumberReader reader=null; try { sb = new StringBuffer(); process=Runtime.getRuntime().exec(cmd); reader = new LineNumberReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null){ sb.append(line+"\n"); } return sb.toString(); } catch (IOException e) { e.printStackTrace(); return null; }finally { try { reader.close(); } catch (IOException e) { e.printStackTrace(); } process.destroy(); } }}
测试类
package test;import util.LocalCommand;public class TestLocal { public void test(){ String rs; rs=LocalCommand.exe("scp /root/* 192.168.1.157:/opt/"); System.out.println(rs); } public static void main(String[] args) { // TODO Auto-generated method stub new TestLocal().test(); }}
执行之后,远程节点没有找到复制scripts内容。
3.解决办法
把scp命令中的*号去掉。
public void test(){ String rs; rs=LocalCommand.exe("scp -r /root/scripts/ 192.168.1.157:/opt/"); System.out.println(rs);}
到远程节点可以找到复制的文件
[root@node]:/opt/scripts# lsStep1.sh Step2.sh Step3.sh
0 0
- Runtime.getRuntime().exec执行scp失败
- Java执行Runtime.getRuntime().exec()
- Runtime.getRuntime().exec()执行本地某一文件
- Runtime.getRuntime().exec执行阻塞问题解决
- 用Runtime.getRuntime().exec(cmd)执行命令
- Runtime.getRuntime().exec()执行linuxshell脚本
- 执行Runtime.getRuntime().exec() 异常收集
- Runtime.getRuntime().exec()执行阻塞问题解决
- Runtime.getRuntime().exec执行阻塞问题解决 .
- apk通过runtime.getruntime().exec(monkey)执行
- java 使用Runtime.getRuntime().execx 执行失败
- 确保Runtime.getRuntime().exec()执行结束再执行下一步
- 确保Runtime.getRuntime().exec()执行结束再执行下一步
- Runtime.getRuntime(). exec( )
- java Runtime.getRuntime().exec
- Runtime.getRuntime().exec
- Runtime.getRuntime().exec()
- Runtime.getRuntime().exec()
- 使用IntelliJ IDEA 通过maven插件运行tomcat7
- 剑指offer----包含min函数的栈
- Linux下快速静态编译Qt以及Qt动态/静态版本共存
- 刷简书阅读量
- HDU5015 233 Matrix(矩阵快速幂)
- Runtime.getRuntime().exec执行scp失败
- 使用tensorflow实现简单的多分类问题
- 《挑战程序设计竞赛》2.1 最基础的穷竭搜索
- css 新特征
- 自定义view(二):onDraw 之 Paint
- 浅析数据库(DB)、操作数据存储(ODS)和数据仓库(DW)的区别与联系
- 计算器原码、反码和补码和位移的一些总结
- VS2017 创建NET Core 1.1 Web项目,发布后找不到引用的js文件
- C++大数乘法