我有以下结构
我只想复制文件夹,子文件夹和文件,这些文件夹位于" _bearbeitet"。
我正在尝试使用以下选项
--archive --hard-links --ignore-errors --force --exclude=* --include=/_bearbeitet
答案 0 :(得分:1)
你的规则顺序错误,而且你的全局变得过于笼统。
试试这个:
--include=/_bearbeitet --exclude='/*'
总而言之:
rsync -aH --ignore-errors --force --include=/_bearbeitet --exclude='/*' $src $dest
规则是,对于每个文件,rsync将使用匹配的第一个包含/排除规则,并且将包含不匹配任何规则的任何内容。
因此,首先列出要包含的内容:/_barbeitet
仅匹配顶级的指定目录。
然后列出您要排除的内容:/*
仅匹配顶级的所有文件和目录。请注意,*
就可以排除所有文件和目录 ,包括明确包含的目录中的文件和目录。
你还应该注意在模式中放置*
的引号,否则shell会在调用rsync之前扩展它们,这不是你想要的。