我使用 rsync 将一堆日志文件与另一台服务器同步。这些日志文件都以 YYYY-MM-DD XXX.txt 格式命名。我只想同步当前月份和上个月的日志,但我的过滤器似乎有冲突。以下是我的包含/排除文件中的内容:
- 2009*
- 2010*
- 2011*
- 2012*
- 2013*
+ 2013-03*
+ 2013-04*
上述包含/排除不会导致任何内容同步(我假设是因为出现-2013*
在特定月份之前。但是,如果我-2013*
从上面的文件中删除并只留下 2013-03 和 2013-04,它会同步以 2013 开头的任何文件。
我知道我的过滤器的顺序或格式有些问题。想知道是否有人能给出建议。提前谢谢您!
答案1
答案2
手册中对此有明确的说明:
在建立要传输的文件/目录列表时,rsync 会依次根据包含/排除模式列表检查要传输的每个名称,并且第一个匹配的模式被作用于:如果它是一个排除模式,那么该文件将被跳过;如果它是一个包含模式,那么该文件名不会被跳过;如果未找到匹配的模式,则不会跳过文件名。