当前位置: 首页 > 面试题库 >

如何使用Java将存储在远程SFTP服务器中的文件复制到同一远程服务器中的另一个文件夹中?

汪德寿
2023-03-14
问题内容

我一直在尝试使用以下方法将远程服务器中的一些选定文件(在执行几次检查后)复制到同一台远程服务器中:

File localFile = new File(srcPath);
sftpChannel.put(localFile.getAbsolutePath(),localFile.getName());

我什至尝试使用该get()方法将那些选定的文件复制到本地计算机。

有人可以帮忙吗?


问题答案:

核心SFTP协议不支持复制远程文件。

copy-file该协议有扩展草案,但只有少数SFTP服务器(例如ProFTPD /
mod_sftp
和Bitvise
SFTP服务器)支持该协议

JSch库也不支持该copy-file扩展。

备择方案:

  • 如果您具有外壳程序访问权限,请打开“ exec”通道,然后使用外壳程序cp命令(或服务器操作系统的等效命令)。
    参见Exec.java示例。

  • 否则,您唯一的选择是将文件下载到本地临时位置,然后将其副本上传回另一个/目标远程目录。或使用streams,以避免出现临时文件。



 类似资料:
  • 我使用JSCH API通过sftp连接到远程服务器。我需要将远程服务器中存在的目录从位置A移动到位置B。看起来channelsftp.put方法(src, est)只允许移动文件而不允许移动目录。 有人能告诉我怎么做吗?

  • 问题内容: 我正在使用Apache Commons FTP上传文件。上传之前,我想检查服务器上是否已存在该文件,并将其备份到同一服务器上的备份目录中。 有谁知道如何将文件从FTP服务器复制到同一服务器上的备份目录? 编辑代码: 仍然存在问题,当我备份zip文件时,备份的文件已损坏。 有人知道原因吗? 问题答案: 如果您使用的是apache commons net ,则有一种直接方法将文件从一个位置

  • 问题内容: 我们将Jenkins服务器用于日常构建过程,并通过SSH在远程主机上执行一些bash脚本。该脚本在远程主机上生成html日志文件。 我们正在使用“ 复制到从属”插件来复制从属计算机上的文件,并使用“ 通过ssh插件进行发布”来管理构建过程中的SSH会话。 现在的问题是,我们要将一些文件(脚本的日志文件)从远程ssh主机复制到Jenkins服务器。这将是可能的并且是相同的更好的选择(如果

  • 有一个用例,我必须: 在我的应用程序中,在应用程序服务器上生成一个文件。让我们把这称为一台机器。(这是我的Java代码运行的地方,用来生成文件) 从应用程序本身,我希望使用SFTP将这个文件传输到一个固定路径(比如)的白名单服务器B 第1点和第2点是直截了当的。 现在有一个外部服务器C(我提供了它的凭据) 现在,应用程序正在服务器A上运行。 文件现在位于服务器B中的== 如何实现这种多次跳转的SF

  • 了解如何使用“文件”面板在 Dreamweaver 中管理文件和文件夹、在本地和远程站点之间传输和同步它们。此外,还可了解在 Dreamweaver 中自动恢复功能如何运行。 使用 Dreamweaver 中的“文件”面板,您可以访问和管理与您的站点关联的文件。在“文件”面板中,您可以将视图切换为“FTP 视图”或“Git 视图”,进而使用 FTP 服务器或 Git 存储库来管理文件。 要打开“文

  • 我想上传一个文件到不同的服务器使用卷曲。我读过许多类似的问题,但我没有得到任何解决我的问题。下面是我现在得到的代码: 当我运行此脚本时,它将保持运行200秒,并以以下方式响应: Sep 17 20:56:58 xxxxx vsftpd[2613]:[user]确定登录:客户端“yyyyy” Sep 17 20:56:58 xxxxx vsftpd[2618]:[用户]FTP响应:客户端“YYYYY