scp、sftp、またはrsyncパイプを使用できますか?

scp、sftp、またはrsyncパイプを使用できますか?

〜700GiBディレクトリを圧縮して、私が制御できないリモートドライブに送信したいと思います。 tarballを作成してからコピーするローカルハードドライブのスペースがありません。リモコンはrsshで保護されています。サーバーに ssh を接続して任意のコマンドを実行することはできません。

ただし、scp、rsync、または sftp を使用できます。だから私の質問は、これら3つのコマンドのうちの1つについてです。もう一方の端で任意のコマンドを実行できないように、scp、rsync、またはsftpにパイプをコピーさせる方法はありますか?


アップデート:次のソリューションはセカンダリストレージでは機能しません。特定のコマンドの実行に制限されます。 ssh は使用できません。 sshを使用するコマンドはrsshを介してフィルタリング/制御されます。

最後に、私たちはすべてのセカンダリアカウントをキャンセルし、プライマリストレージのサイズを2倍にするのに多くのお金を費やしました(プライマリホストは移行なしでこれを行うことができます)。その後、一時アーカイブを作成して正常に送信しました。 (初期保存容量ではこれを行うことはできません。)

将来的には、より大きな専用ストレージを備えたセカンダリVPSを使用して、これが再度発生しないようにします。私が要求することは不可能であることが明らかでした。

答え1

正確には「パイプライン」ではありませんが、デフォルトでは、scp特定のFD(パイプかもしれません)をホストから別のホストにコピーするように指示できます。単純なbashコマンドは次のとおりです。

scp事前に寸法を決定する必要があるため動作しません):

scp <(tar cz files to compress) host:/path/to/new.file

ただし、pureと一緒に使用できますssh

tar cz files to compress | ssh host "cat > /path/to/new.file"

答え2

SFTPによるRSYNC動作

mirror何も圧縮せずに、LFTP(名前が間違っている)とLFTPサブシステムを使用して、ディレクトリ構造を反対側にコピーできます。 LFTPはSFTPをサポートし、ミラーリングサブシステムはrsyncのほぼすべての機能をサポートします。転送速度を上げるために、必要な数の接続に分割することもできます。私はいつもこれをする。

はい

また、以下の記事を確認してください。 https://serverfault.com/questions/135618/is-it-possible-to-use-rsync-over-sftp-without-an-ssh-shell

関連情報