1

最近、jsch-0.1.41 を使って、ChannelSftp 経由でリモート Linux サーバー上のリソースを操作しています。シェル コマンド「cp」と同様の機能を提供する機能がないことがわかりました。これら 2 つのディレクトリは両方とも Linux サーバー上のリモート ディレクトリです。

私のプレゼンテーションに間違った点がありましたら、ご指摘ください。ありがとうございます。

4

1 に答える 1

0

SFTP プロトコルはそのようなコマンドを提供しないため、JSch の ChannelSftp もそれを提供しません。

基本的に次の 2 つの選択肢があります。

  • getとを組み合わせて使用​​しputます。つまり、ファイルをダウンロードして再度アップロードします。これはローカル ストレージなしで実行できますが (単純にストリームの 1 つを別のストリームに接続するだけです)、ネットワークを介してデータを 2 回移動する (および暗号化/復号化を 2 回行う) 必要があり、実際には必要ありません。これは、他の方法が機能しない場合にのみ使用してください。

  • SFTP は使用せず、execチャネルを使用してサーバー上でコピー コマンドを実行します。Unix サーバーでは、このコマンドは通常cp、Windows サーバーではcopy. (サーバーの管理者が何らかの理由でアカウントを SFTP のみのアクセスに制限している場合、これは機能しません。)

于 2012-11-04T20:48:21.917 に答える