rsync :递归同步多种文件类型,同时忽略目录结构
rsync : Recursively sync multiple file types while ignoring directory structure
有没有办法使 rsync
递归同步多种文件类型但不复制目录结构,只复制文件?
到目前为止我已经得到了这个
rsync -zarvm --include="*/" --include=*.{xml,properties} --exclude="*" /foo/ /syncdDir/
这给了我这个
/foo/
file1.properties
dir1/
dir1/file1.xml
file2.properties
dir2/
dir2/file2.xml
我要查找的只是复制到 /syncdDir/
中的 file{1,2}.xml
和 file{1,2}.properties
文件,而不是 dir1
和 dir2
目录。
您可能无法直接使用 rsync
来展平结构,但您可以使用 find
来帮助您做到这一点:
find -type f \( -name '*.xml' -o -name '*.properties' \)
-exec rsync -zarvm {} /syncDir/ \;
当您使用 find
进行搜索时,很容易将输出文件夹硬编码为所有输入都相同。
有没有办法使 rsync
递归同步多种文件类型但不复制目录结构,只复制文件?
到目前为止我已经得到了这个
rsync -zarvm --include="*/" --include=*.{xml,properties} --exclude="*" /foo/ /syncdDir/
这给了我这个
/foo/
file1.properties
dir1/
dir1/file1.xml
file2.properties
dir2/
dir2/file2.xml
我要查找的只是复制到 /syncdDir/
中的 file{1,2}.xml
和 file{1,2}.properties
文件,而不是 dir1
和 dir2
目录。
您可能无法直接使用 rsync
来展平结构,但您可以使用 find
来帮助您做到这一点:
find -type f \( -name '*.xml' -o -name '*.properties' \)
-exec rsync -zarvm {} /syncDir/ \;
当您使用 find
进行搜索时,很容易将输出文件夹硬编码为所有输入都相同。