rsync不工作 – 只想复制某些子目录和文件

嗨,让我们说我有一个这样的目录:

/ my_work /dir1 keepdir1.ddd keepdir2.ddd file.cfg (lots of files and directories I don't want) /dir2 (same layout as dir 1) 

所以我想复制目录“my_work”和所有的“dir1”,“dir2”等子目录。 但在每一个我想保留只有某些文件,和某些目录。 在我保持的目录中,我想recursion地包含一切。

这是我到目前为止所尝试的,但似乎没有任何复制:

 rsync -rl --include-from=~/rsync_include /my_work ~/backup 

而rsync_include的内容是:

 + *file.cfg + *keepdir*/* - * 

更新:

如果我使用rsync -rvvl运行,则会得到:

 sending incremental file list [sender] hiding directory my_work because of pattern * delta-transmission disabled for local transfer or --whole-file total: matches=0 hash_hits=0 false_alarms=0 data=0 sent 10 bytes received 12 bytes 44.00 bytes/sec total size is 0 speedup is 0.00 

最后的- *忽略了没有明确地符合上述规则之一的所有内容。 这是你想要的,但是因为顶级文件夹不匹配,rsync甚至不会进入它们,所以它将没有机会匹配你指定的文件模式。

如果你添加:

 + my_work/ + my_work/dir* 

明确地到文件的顶部,那么它应该工作。