Я имею в виду 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
+ **/*.дата
- */
- **/