rsync -av -e“ssh”,加上一堆以“exclude='*''”结尾的“includes”,不复制所有文件

rsync -av -e“ssh”,加上一堆以“exclude='*''”结尾的“includes”,不复制所有文件

类似这样的 rsync 命令rsync -av -e "ssh" --include="dir1" --include="dir2" --include="dir3" --include="file1" --include="file2" --include="file3" --exclude="*" user@server:/directory1/site/ /dir1不会递归复制文件。换句话说,只会复制 /directory1/site 目录中的文件和非常规文件,而不会复制其文件夹中的文件。

答案1

INCLUDE/EXCLUDE PATTERN RULESrsync的包含/排除很奇怪。我强烈建议你花点时间仔细阅读手册页. 密切关注所有规则,因为有些事情根本就不会以看似明显的方式发挥作用。

a trailing "dir_name/***" will match both the directory (as if 
"dir_name/" had been specified) and everything in the directory 
(as if "dir_name/**" had been specified). This behavior was added
in version 2.6.7.

因此,如果您想要目录的全部内容,则可以用--include="dir3/***"而不是--include="dir3"

相关内容