以下は私のディレクトリ構造のディレクトリです。
rsync
アーカイブディレクトリのサブディレクトリの内容のみを実行し、他のすべての内容を除外したいと思います。
./
ap/
ap/aploader/
ap/aploader/archive/
ap/as400/
ap/as400/archive/
ce/
ce/archive/
edi/
edi/810/
edi/810/archive/
fin/
fin/adp/
fin/adp/archive/
gl/
gl/adp/
gl/adp/archive/
gl/as400/
gl/as400/archive/
gl/dcb/
gl/dcb/archive/
om/
om/pricelist/
om/pricelist/archive/
om/sygma/
om/sygma/archive/
ソースディレクトリとターゲットディレクトリのディレクトリ構造は同じですが、アーカイブディレクトリのみが必要ですrsync
。
たとえば、
以下の内容はすべて
に/xx/inbound/om/pricelist/archive
コピーする必要があります。/yy/inbound/om/pricelist/archive
xx/inbound/om/sygma/archive
/yy/inbound/om/sygma/archive
以下を試しましたが、必要に応じて機能しませんでした。
rsync --include '**archive/***' --exclude '*' -avzh -avzh /xx/inbound/ /yy/inbound
ベストアンサー1
あなたが逃した唯一のことは、最初にアーカイブディレクトリにつながるすべてのディレクトリを含むことです。返品--include='*/'
。これは、ディレクトリを除外すると(「*」と表示されます)、その下のすべての項目が除外されるためです。
rsync --include='*/' --include='**archive/***' --exclude='*' -avzh /xx/inbound/ /yy/inbound
それ以外には2セットは必要ありません。'-avzh'