由于我的目录大小,我不得不把我的rsync任务分解成更小的工作。 从本质上讲,我是按字母顺序做的(例如,脚本可以同步以AD,EH等开头的文件夹)。
我遇到的问题是这个…..我的AD filter.txt文件工作正常,但所有其他人失败。 我相信这个问题是因为我正在同步的path是:
/AUser/db/Backups/*** /AUser2/db/Backups/*** /CUser/db/Backups/*** /EUser/db/Backups/***
我的AD的filter.txt文件如下所示:
- E* - e* - F* - f* (etc all the way through Z) + */db/ + */db/Backups/*** - *
上面的一个没有问题。 但是,这个不是:
- A* - a* - B* - b* - C* - c* - D* - d* - I* - i* - J* (etc all the way through Z) + */db/ + */db/Backups/*** - *
我猜我排除了D或B是造成这一点(这是不包括数据库文件夹或备份文件夹??),但我不明白为什么,因为我有一个包括* /数据库/和* /数据库/备份/ ***
谢谢!!
rsyncfilter在find的第一个匹配上工作 – 所以是的,你排除的“d *”和“B *”在包含匹配之前不包括你的“db”和“Backups”子目录。
只要包含要包含的特定path,然后排除其他所有内容即可,例如:
+ /[EH]* # include top-level dirs starting with E through to H + */db/ # include "db" subdirectories + */db/Backups/ # include "db/Backups" subdirectories - */ # exclude all other directories