rsync特定目录

rsync特定目录

以下是我的目录结构的目录。

我只想运行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'

相关内容