rsync 的排除/包含规则

rsync 的排除/包含规则

我需要在rsync规则中仅包含.local/shares/其他目录,而不.local/包含 / 中的某些目录.local/shares

我的规则目前如下:

+ /.local/share/
+ /.local/share/*
- /.local/share/baloo/
- /.local/share/akonadi/
- /.local/

但它们似乎不起作用。我不确定手册是否意味着我必须专门包含或子目录,例如.local/share/

+ /.local/share/
+ /.local/share/dir1
+ /.local/share/dir1/dir1/
+ /.local/share/dir2
+ /.local/share/dir2/dir1/dir1
+ /.local/share/*
- /.local/share/baloo/
- /.local/share/akonadi/
- /.local/

从技术上来说这实际上是不可能的,但在这种情况下,还有其他“聪明”的解决方案吗?

答案1

这取决于您的实际rsync命令。

使用此模式文件

- .local/share/akonadi
- .local/share/baloo
+ .local/share
- .local/*

和这个命令

rsync -av --include-from rsync.patterns .local destination

我可以不.local/share加复制akonadibaloo

相关内容