SunOSのscp再帰ディレクトリ

SunOSのscp再帰ディレクトリ

SCP(およびrsync)に小さな問題が発生しました。サーバーA(SunOS 5.8を実行)からサーバーB(SunOS 5.10を実行)にいくつかのファイルをコピーする必要があります。

まず、SSHを介してファイルのリスト(何百もの)を取得し、次を見つけます。

FILES=`ssh user@remote find ./ -name "*.sh" -o -name "*.cbs" -print`
scp -r user@remote:"$FILES" /u01/appl/somedir/ 

私の問題は、相対パスを使用してファイルをコピーし、ディレクトリ構造も作成したいということですproduct/11/ora/clean.sh (結果的に/u01/appl/somedir/product/11/ora/clean.sh)。現時点ではファイルのダウンロードのみが可能で、ディレクトリは作成されません。ご覧のとおり、-rscpではフラグを使用しています。

答え1

シェルは、user@remote:"$FILES" 構成を望ましくないものに拡張します。最初の項目には user@remote: 接頭辞がありますが、残りはそうではありません。

SSHを介してtarを送信できるため、上記の「find」コマンドを使用してインクルードを構築する方が簡単です。その後、次のことができます。

find ...stuff... > myfiles
scp myfiles user@remote
ssh user@remote "tar -Imyfiles -cvf - " | tar -C /u01/appl/somedir -xf-

狡猾に発見されたコンテンツとタールを正しい引用と組み合わせることができます。

関連情報