Sftp

SFTP無需下載即可複制遠端文件

  • May 25, 2022

我有 SFTP 可以訪問的備份空間。我在這個遠端儲存上的一個名為“mybackup”的目錄中做了一個備份。我現在想在遠端儲存上製作一個名為“mybackup-copy”的 mybackup 目錄的副本。

有沒有辦法用 SFTP 做到這一點,不涉及下載整個目錄然後重新上傳整個目錄?

例如,如果我有完整的 SSH shell 訪問權限,我可以做到cp -ar mybackup mybackup-copy- 這可以通過 sftp 協議實現嗎?

核心 SFTP 協議不支持複製遠端文件。copy-dataSFTP 協議有/copy-file擴展的草稿。

但在最廣泛的 OpenSSH SFTP 伺服器中,僅copy-data最新版本 9.0支持。它的sftp客戶端cp命令(但你也需要一個兼容的伺服器)。

另一個支持擴展的伺服器是ProFTPDmod_sftp和 Bitvise SFTP 伺服器。


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

如果遠端支持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/directory目錄host

引用自:https://unix.stackexchange.com/questions/618746