〜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"