我是 SSH 和 JSch 的新手。当我从客户端连接到服务器时,我想做两个任务:
- 上传文件(使用
ChannelSFTP
) - 执行命令,例如创建目录和搜索 MySQL 数据库
目前我使用两个单独的 shell 登录来执行每个任务(实际上我还没有开始编写 MySQL 查询)。
对于上传相关代码是
session.connect();
Channel channel=session.openChannel("sftp");
channel.connect();
ChannelSftp c=(ChannelSftp)channel;
c.put(source, destination);
对于我的命令
String command = "ls -l";//just an example
Channel channel=session.openChannel("exec");
((ChannelExec)channel).setCommand(command);
我应该在第一个频道之后断开会话然后打开第二个频道吗?或者完全关闭会话并打开一个新会话?正如我所说,我是新手。