gpt4 book ai didi

java - 使用 Jsch Java API 获取远程系统时间戳

转载 作者:行者123 更新时间:2023-12-02 02:18:01 30 4
gpt4 key购买 nike

我正在使用优秀的 com.jcraft.jsch API 通过以下代码连接到远程服务器。

    JSch ssh = new JSch();
JSch.setConfig(FileTransferConstants.STRICT_HOST_KEY_CHECKING, FileTransferConstants.NO);
session = ssh.getSession(user, host, port);
session.setPassword(password);
session.connect();
channel = session.openChannel(FileTransferConstants.SFTP);
channel.connect();
ChannelSftp sftp = (ChannelSftp) channel;

连接后,我使用 SFTP 下载一些日志文件。这非常有效。

检索文件后,我会根据日志条目的时间戳在本地查询它们 - 我正在查找特定时间窗口内的条目。

到目前为止,它还没有给我带来任何问题,因为我的本地系统时间戳与远程时间戳非常相似。但最近我的测试开始失败,因为我的本地时间戳与远程服务器上的时间戳之间存在 5 分钟的差异。

所以我的问题是,是否有一种使用 Jsch 获取远程系统时间的简单方法?如果是这样,我只需检索它并在我的测试中使用它而不是本地系统时间。那么希望差异问题立即消失!

感谢您阅读并考虑我的问题。

最佳答案

如果其他人遇到同样的问题,请添加评论中的工作建议作为答案。

ChannelExec channelExec = (ChannelExec)session.openChannel("exec");
InputStream in = channelExec.getInputStream();
channelExec.setCommand("date +%m%d%Y%H%M%S"); //Date format could be changed to your desired format
channelExec.connect();

BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line;
int index = 0;
while ((line = reader.readLine()) != null) {
System.out.println(++index + " : " + line);
}

channelExec.disconnect();

关于java - 使用 Jsch Java API 获取远程系统时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48993421/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com