Rsync Включить и исключить с датами

У меня есть несколько файлов журналов, которые я синхронизирую с другим сервером с помощью rsync. Все файлы журнала имеют имена в формате ГГГГ-ММ-ДД XXX.txt. Я хочу синхронизировать только текущий и последний месяц журналов, но мои фильтры кажутся конфликтующими. Вот что у меня есть в моем файле include / exclude:

- 2009*
- 2010*
- 2011*
- 2012*
- 2013*
+ 2013-03*
+ 2013-04*

Включение / исключение, приведенное выше, не вызывает синхронизацию (я полагаю, потому что -2013* появляется до конкретных месяцев. Однако, если я удалю -2013* из файла выше и просто оставьте 2013-03 и 2013-04, он хочет синхронизировать любой файл, начиная с 2013 года.

Я знаю, что что-то упущено в порядке или формате моих фильтров. Интересно, есть ли у кого-нибудь предложение? Заранее спасибо!

2 ответа

Решение

- 2013* исключает все с 2013 года, это не будет отменено, если вы сделаете более конкретное включение позже.

Пытаться

+ 2013-03*
+ 2013-04*
- 2013* 

и обратитесь к разделу "Правила фильтрации" справочной страницы для получения дополнительной информации.

Руководство явно об этом:

Поскольку список файлов / каталогов для передачи создается, rsync проверяет каждое передаваемое имя по списку шаблонов включения / исключения по очереди, и действует первый соответствующий шаблон: если это шаблон исключения, то этот файл пропускаются; если это шаблон включения, то это имя файла не пропускается; если соответствующий шаблон не найден, то имя файла не пропускается.

Другие вопросы по тегам