rsync 只同步 thumbnail.jpg 其余部分

rsync 只同步 thumbnail.jpg 其余部分

我有一个包含许多文件的大型目录树,例如;

/abc2/def/thumbnail.jpg
/abc1/def/thumbnail.jpg
/abc1/def/geh/someothertextfile.txt
/abc1/defe/geh/thumbnail.jpg

我想将所有与 thumbnail.jpg 匹配的目录和文件 rsync 到另一棵树。

我试过;

rsync -r --exclude-from=/tmp/exclude src dst

排除包含的文件;

# cat /tmp/exclude 
+ /thumbnail.jpg
+ thumbnail.jpg
+ /**/thumbnail.jpg
+ **/thumbnail.jpg
- *

但这不符合任何一个。

答案1

使用查找

find / -name "thumbnail.jpg" -exec rsync -avz --compress --progress {} dst \;

答案2

好的,所以实际上 RTFM 最终总是有效的......

将命令改为;

rsync -r --prune-empty-dirs --exclude-from=/tmp/exclude src dst

并将排除文件更改为;

# cat /tmp/exclude 
+ */
+ thumbnail.jpg
- *

奇迹般有效。

答案3

您的问题是 final- *排除了所有目录(这告诉 rsync 不仅不要复制它们,而且不要遍历它们)。使用

+缩略图.jpg
+ */
-*

并传递--prune-empty-dirs命令rsync行。

相关内容