rsync:递归同步多种文件类型,同时忽略目录结构

时间:2018-08-21 13:16:59

标签: bash rsync

是否有一种方法可以使rsync递归同步多种文件类型,但不复制目录结构,而仅复制文件?

到目前为止,我已经知道了

  rsync -zarvm --include="*/" --include=*.{xml,properties} --exclude="*" /foo/ /syncdDir/

这给了我这个

/foo/
    file1.properties
    dir1/
    dir1/file1.xml
    file2.properties
    dir2/
    dir2/file2.xml

我要查找的只是复制到file{1,2}.xml的{​​{1}}和file{1,2}.properties文件,而不是目录/syncdDir/dir1的文件。

1 个答案:

答案 0 :(得分:1)

您可能无法直接使用rsync来使结构变平,但是您可以使用find来帮助您做到这一点:

find -type f \( -name '*.xml' -o -name '*.properties' \)
    -exec rsync -zarvm {} /syncDir/ \;

使用find进行搜索时,很容易将输出文件夹硬编码为所有输入都相同。