Я имею в виду rsync некоторые файлы дерева подкаталогов в директор1.
Я использую
[dir1]$ rsync --itemize-changes --recursive --update --times --include-from="rsync_include.dat" --exclude="*" --dry-run ./ remote:~/dir1/
Правила следующие, в этом порядке.
- Включить подкаталоги
дир11 и директор12 на уровне 1.
- Исключите остальные на уровне 1.
- В
дир11 и директор12, включить все файлы *.cc, *.текст в поддеревьях.
- В
дир11 и директор12, исключить все остальные файлы.
- В
дир11 и директор12, включают некоторые определенные поддеревья (возможно, на разных уровнях) со всем их содержимым.
Я не попал в точку с правильными комбинациями одинарных, двойных и тройных звездочек, знаков плюс/минус, косой чертой в конце и порядком правил в моем rsync_include.dat.
Каким должно быть правильное содержание?
Среди всего, что я пробовал, я публикую ниже текущее состояние моего rsync_include.dat.
Среди прочего, он не соответствовал файлу классы/src/ТЕСТ/classes_test.cc, который имел более позднюю дату в ./ чем в удаленный: ~/dir1/, и поэтому я хочу, чтобы это было rsyncизд.
В этом случае я ищу шаблон, который будет соответствовать этому файлу без необходимости вводить + классы/источник/ТЕСТ/*.cc, так как могут быть другие *.cc на различных глубинах и ответвлениях.
+ классы/
+ дезинфицирующие средства/
- ***/.cproject
+ **/*.cc
+ ***/*.cc
+ **/*.cpp
+ **/*.дата
- */
- **/