Sftp
SFTP無需下載即可複制遠端文件
我有 SFTP 可以訪問的備份空間。我在這個遠端儲存上的一個名為“mybackup”的目錄中做了一個備份。我現在想在遠端儲存上製作一個名為“mybackup-copy”的 mybackup 目錄的副本。
有沒有辦法用 SFTP 做到這一點,不涉及下載整個目錄然後重新上傳整個目錄?
例如,如果我有完整的 SSH shell 訪問權限,我可以做到
cp -ar mybackup mybackup-copy
- 這可以通過 sftp 協議實現嗎?
核心 SFTP 協議不支持複製遠端文件。
copy-data
SFTP 協議有/copy-file
擴展的草稿。但在最廣泛的 OpenSSH SFTP 伺服器中,僅
copy-data
最新版本 9.0支持。它的sftp
客戶端有cp
命令(但你也需要一個兼容的伺服器)。另一個支持擴展的伺服器是ProFTPD
mod_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
。