仅 rsync 特殊子目录中的文件夹和文件
rsync only folders and files in special sub directory
我有以下结构
我只想复制位于“_bearbeitet”中的文件夹、子文件夹和文件。
我正在尝试使用以下选项
--archive --hard-links --ignore-errors --force --exclude=* --include=/_bearbeitet
您的规则顺序错误,您的 glob 过于笼统。
试试这个:
--include=/_bearbeitet --exclude='/*'
所以一共:
rsync -aH --ignore-errors --force --include=/_bearbeitet --exclude='/*' $src $dest
规则是,对于每个文件,rsync 将使用匹配的 firstinclude/exclude 规则,并且将包括任何不匹配规则的内容。
因此,首先列出您要包含的内容:/_barbeitet
仅匹配顶层的命名目录。
然后在后面列出您要排除的内容:/*
仅匹配顶级的所有文件和目录。请注意 *
本身会 排除所有 文件和目录 任何地方 ,包括显式包含目录中的文件和目录。
你还应该注意在模式中将引号放在 *
周围,否则 shell 会在调用 rsync 之前扩展它们,这不是你想要的。
我有以下结构
我只想复制位于“_bearbeitet”中的文件夹、子文件夹和文件。
我正在尝试使用以下选项
--archive --hard-links --ignore-errors --force --exclude=* --include=/_bearbeitet
您的规则顺序错误,您的 glob 过于笼统。
试试这个:
--include=/_bearbeitet --exclude='/*'
所以一共:
rsync -aH --ignore-errors --force --include=/_bearbeitet --exclude='/*' $src $dest
规则是,对于每个文件,rsync 将使用匹配的 firstinclude/exclude 规则,并且将包括任何不匹配规则的内容。
因此,首先列出您要包含的内容:/_barbeitet
仅匹配顶层的命名目录。
然后在后面列出您要排除的内容:/*
仅匹配顶级的所有文件和目录。请注意 *
本身会 排除所有 文件和目录 任何地方 ,包括显式包含目录中的文件和目录。
你还应该注意在模式中将引号放在 *
周围,否则 shell 会在调用 rsync 之前扩展它们,这不是你想要的。