仅rsync特殊子目录中的文件夹和文件

时间:2018-02-07 07:35:06

标签: rsync

我有以下结构

enter image description here

我只想复制文件夹,子文件夹和文件,这些文件夹位于" _bearbeitet"。

我正在尝试使用以下选项

--archive --hard-links --ignore-errors --force --exclude=* --include=/_bearbeitet

1 个答案:

答案 0 :(得分:1)

你的规则顺序错误,而且你的全局变得过于笼统。

试试这个:

--include=/_bearbeitet --exclude='/*'

总而言之:

rsync -aH --ignore-errors --force --include=/_bearbeitet --exclude='/*' $src $dest

规则是,对于每个文件,rsync将使用匹配的第一个包含/排除规则,并且将包含不匹配任何规则的任何内容。

因此,首先列出要包含的内容:/_barbeitet仅匹配顶级的指定目录。

然后列出您要排除的内容:/*仅匹配顶级的所有文件和目录。请注意,*就可以排除所有文件和目录 ,包括明确包含的目录中的文件和目录。

你还应该注意在模式中放置*的引号,否则shell会在调用rsync之前扩展它们,这不是你想要的。