我正在尝试使用 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
-z
rsync