SFTP 无需下载即可复制远程文件

SFTP 无需下载即可复制远程文件

我有可通过 SFTP 访问的备份空间。我已在此远程存储上名为“mybackup”的目录中进行了备份。我现在想在远程存储上制作名为“mybackup-copy”的 mybackup 目录的副本。

有没有一种方法可以使用 SFTP 执行此操作,而不涉及下载整个目录,然后重新上传整个目录?

例如,如果我有完整的 SSH shell 访问权限,我可以这样做cp -ar mybackup mybackup-copy- 这可以通过 sftp 协议来实现吗?

答案1

核心SFTP协议不支持复制远程文件。有草稿copy-data/ copy-fileSFTP 协议的扩展

但在最广泛的 OpenSSH SFTP 服务器中,copy-data最新的支持9.0版本仅有的。它是sftp客户cp命令(但您还需要兼容的服务器)。

其他支持扩展的服务器是FTPD协议mod_sftp和 Bitvise SFTP 服务器。


所以使用 cp命令通常是唯一的方法。

答案2

如果远程端支持scp这应该可以工作:

scp -p host:/path/to/file/filename.ext host:/path/to/copy/of/file/

或者,既然您说您正在寻求复制目录:

scp -rp host:/path/to/directory host:/path/to/copy/

假设该目录/path/to/copy存在于 上,后一个命令将在上host产生一个新目录。/path/to/copy/directoryhost

相关内容