ボックスにjavadocツリーを含むjarファイルがあります。私はそれを別のボックスに移動し、特定のディレクトリ(存在しないかもしれません)に瓶を抽出する必要があります。
リモートボックスにログインするために使用したいプリンシパルのユーザー名/パスワードがありますが、使用するSSHキーはありません。
見積もりを使用してこれを実行できますが、カールを使用して完全に実行できることを確認したいと思います。次のコマンドを使用して、jarファイルをリモートボックスに正常に転送しました。
curl -k -T file.jar -u user:password scp://host/path/file.jar
要件のより難しい部分は、瓶を開梱するか、stdoutを介してソースからパイプを介してリモートで解凍することです。このために、以下を試しました。
gzip -c file.jar | curl -k -T - -u user:password scp://host/path/stuff
これは、「curl:(25)SCPにアップロードするために既知のファイルサイズが必要です」と失敗します。
これらすべてが機能するようにするには、完全な「予測」実装を実行する必要がありますか?私は、カールが存在しない場合にターゲットディレクトリを作成できるかどうかを考慮しませんでした。
答え1
私は同じ問題を経験しました。正確な理由はわかりませんが、scpを介したカールはファイル全体のみをコピーでき、サイズを知っています。 scp自体の制限でもあります。
解決策はとても簡単です。プロトコルを scp から sftp に変更すると正常に動作します。
gzip -c file.jar | curl -k -T - -u user:password sftp://host/path/stuff