rsync 仅包含子文件夹下的 png 图像

rsync 仅包含子文件夹下的 png 图像

我正在尝试使用 rsync 通过 ssh 同步文件夹。特别是,我只想获取远程文件夹中的 png 文件,因为所有文件夹可能会占用几千兆字节。文件夹结构如下

/path/test_0/Render/images/*.png
/path/test_1/Render/images/*.png
/path/test_2/Render/images/*.png
...

我尝试过以下 rsync 命令 rsync -avzhe ssh --progress --include='**.png' --exclude='*' user@remoteserver:/path/ .

但输出只是

receiving incremental file list

sent 39 bytes  received 60 bytes  28.29 bytes/sec
total size is 0  speedup is 0.00

并且没有任何同步。

实现这一目标的正确方法是什么?

答案1

您必须告诉rsync包含目录:

rsync -av --progress --include='*/' --include='*.png' --exclude='*' source/ target

...否则它甚至不会进入任何test_*目录。

-v如果向命令添加更多选项,您可以看到名称与模式的匹配。

我还删除了默认使用 SSH-e ssh的选项,并且压缩选项无助于更大程度地传输 PNG 图像(使用压缩实际上仅在极慢的链接上有用)。rsync-zrsync

相关内容