嗨,让我们说我有一个这样的目录:
/ 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*
明确地到文件的顶部,那么它应该工作。