java linux 远程ssh

发布于 2021-11-24 11:05:45 字数 958 浏览 678 评论 6

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);
				}



2.这里所有命令除了./mongoexport .....这个不能执行,其他的都可以执行;

3.我不明白为什么。如何才能让它执行呢?

ps:   ./mongoexport 这个是从mongodb导出数据文件的命令,我把这句放到linux终端下,是可以执行的,但在这里就不能执行。


Help me ,please.


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

爱的故事 2021-11-27 17:28:39

楼主威武啊,赞一个!!!

为你鎻心 2021-11-27 13:45:07

写了路径,依然不行

初见你 2021-11-27 09:49:25

回复
环境变量path?

情栀口红 2021-11-27 05:45:23

以前遇到过,后来把命令路径写进环境变量path里面就可以执行了

命硬 2021-11-26 10:23:20

怎么解决的?

如日中天 2021-11-26 06:25:01

1. )把这个 ./mongoexport .....这里省略;  写成一个脚本放到目标机器上试试。

2) 在 ./mongoexport .....这里省略; 前面加上 . $HOME/.bashrc; 试试

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文