SFTPはダウンロードせずにリモートファイルをコピーします。

SFTPはダウンロードせずにリモートファイルをコピーします。

SFTP経由でアクセスできるバックアップスペースがあります。このリモートリポジトリの「mybackup」というディレクトリにバックアップを作成しました。それでは、リモートリポジトリに「mybackup-copy」という名前のmybackupディレクトリのコピーを作成したいと思います。

ディレクトリ全体をダウンロードした後、再アップロードせずにSFTPを使用してこれを行う方法はありますか?

たとえば、完全なSSHシェルアクセス権を持っている場合は、これを実行できますか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

関連情報