【问题标题】:How to properly match directories with rsync如何正确匹配目录与 rsync
【发布时间】:2016-09-08 23:27:22
【问题描述】:

我需要将一些目录从一台机器同步到另一台机器,但只是树的一部分。我认为解释它的最简单方法是在服务器上运行tree -f(打印每个文件的完整路径),然后在完整路径中运行grep'ing monrsynch'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”树中的。

是的,我确实看到了 thisthisthis 以及无数其他人,这帮助我取得了一些进展(即您在上面看到的),但没有解决问题......

【问题讨论】:

    标签: rsync


    【解决方案1】:

    在第二个包括中,类似以下的内容(即问题是匹配 mon 之后的任何内容):

    rsync -arvm --include='*/' --include='*mon/***' --exclude='*' /path/to/source /path/to/dest

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-30
      • 2014-04-27
      • 2021-07-13
      • 2017-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多