【发布时间】:2016-09-08 23:27:22
【问题描述】:
我需要将一些目录从一台机器同步到另一台机器,但只是树的一部分。我认为解释它的最简单方法是在服务器上运行tree -f(打印每个文件的完整路径),然后在完整路径中运行grep'ing mon 和rsynch'ing 仅匹配 grep。实际上我很乐意这样做,但我没有对服务器的 shell 访问权限,只有rsync。基于greping 输出rsync --list-only 的两步解决方案是完全可以接受的。
其实比较简单,因为我也知道这个mononly作为目录的后缀出现(层次结构相当僵化),所以我试着做 p>
rsync --dry-run -vrlpt --include='*/' --include='**/*mon/' --exclude='*' --prune-empty-dirs
但那不匹配任何东西。 --include='*mon/' 同上,而不是带有双星号的那个。避免 --prune-empty-dirs 匹配所有目录但没有文件,我认为这是我的问题。因此,我尝试在排除模式之前为某些文件扩展名添加包含模式(我不想这样做,因为我不想跟踪它们,它们可能会改变),但这只是匹配所有这些文件,包括那些不在“mon”树中的。
是的,我确实看到了 this 和 this 和 this 以及无数其他人,这帮助我取得了一些进展(即您在上面看到的),但没有解决问题......
【问题讨论】:
标签: rsync