我正在尝试使用过滤规则文件,该文件使用包含/排除行的通配符来驱动包含和排除的内容,以便运行rsync来备份服务器。
我正在使用命令行,如:
rsync -avzh --filter="merge rsync_backup_filter" / user@backupserver:/backup-data
其中rsync_backup_filter目前类似于
+ /var
+ /var/www
+ /var/www/webapp1/***
+ /var/www/webapp2/***
- /var/www/*/repo
+ /home/***
+ /etc/***
- *
但上面的过滤规则语法并不完全正确,因为结果实际上并不符合我的意图。我想要实现的repo
子文件夹不会被排除。
repo
子目录,所以基本上在某些路径中说“all except”构建过滤规则文件的正确方法是什么,以及使用通配符实现我所描述的正确方法?
答案 0 :(得分:1)
过滤规则构成有序集,并且评估将继续,直到第一次匹配发生。因此,如果您将排除规则向上移动,则所有repo文件夹都将被排除 - 至少到第3行。