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

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”等子目录。但在每个子目录中,我只想保留某些文件和某些目录。在我保留的目录中,我想递归地包含所有内容。

这是我到目前为止尝试过的但似乎没有什么可以复制:

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

答案1

最后一条规则- *是忽略所有未明确匹配上述规则的内容。这是你想要的,但由于顶级文件夹不匹配,rsync 甚至不会下降进入它们,所以它没有机会匹配您指定的文件模式。

如果添加:

+ my_work/
+ my_work/dir*

明确地添加到文件顶部,那么它就应该可以工作。

相关内容