rsync 未根据 --include 标志进行复制

rsync 未根据 --include 标志进行复制

我有目录:

- /tmp/test1/
-- 1.txt
-- 2.cert

我有另一个名为 /tmp/test2 的空目录

sudo rsync -av --relative --include="*.txt" --exclude="*" --delete-before --chmod=D2775,F664 /tmp/test1/ /tmp/test2/

我本来期望复制 1.txt,但是什么都没有复制,我做错了什么?

答案1

该目录/tmp/test1/被标志排除--exclude="*",因此1.txt根本不被检查。

您需要添加--include="*/"第一个包含/排除标志。
您可能还想添加-m(或--prune-empty-dirs)以避免创建空目录。

sudo rsync -amv --relative --include="*/" --include="*.txt" --exclude="*" --delete-before --chmod=D2775,F664 /tmp/test1/ /tmp/test2/

相关内容