java linux 远程ssh
1.我用ch.ethz.ganymed 的ganymed-ssh2这个jar包远程调用linux命令 代码如下:
Connection conn = new Connection(host); Session ssh = conn.openSession(); conn.connect(); boolean isconn = conn.authenticateWithPassword(username, password); if(isconn) { new ReadFileException("已建立连接"+host, RuntimeExec.class); ssh.execCommand( "sudo su; " + "cd /usr/local/mongodb/bin/; " + "./mongoexport .....这里省略;"+ "ls;" ); InputStream in = ssh.getStdout(); BufferedReader br = new BufferedReader(new InputStreamReader(in)); String line = null; while((line = br.readLine()) != null) { System.out.println(line); }
3.我不明白为什么。如何才能让它执行呢?
ps: ./mongoexport 这个是从mongodb导出数据文件的命令,我把这句放到linux终端下,是可以执行的,但在这里就不能执行。
Help me ,please.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
楼主威武啊,赞一个!!!
写了路径,依然不行
回复
环境变量path?
以前遇到过,后来把命令路径写进环境变量path里面就可以执行了
怎么解决的?
1. )把这个 ./mongoexport .....这里省略; 写成一个脚本放到目标机器上试试。
2) 在 ./mongoexport .....这里省略; 前面加上 . $HOME/.bashrc; 试试