У меня есть dir:
- /tmp/test1/
-- 1.txt
-- 2.cert
У меня есть еще один пустой dir с именем /tmp/test2
sudo rsync -av --relative --include="*.txt" --exclude="*" --delete-before --chmod=D2775,F664 /tmp/test1/ /tmp/test2/
Я бы ожидал 1. txt, но ничего не копируется, что я делаю не так?
Каталог /tmp/test1/
исключается флагом --exclude="*"
и, следовательно, 1.txt
вообще не проверяется.
Вам нужно добавить --include="*/"
в качестве первого флага включения/исключения.
Вы также можете добавить -m
(или --prune-empty-dirs
), чтобы избежать создания пустых каталогов.
sudo rsync -amv --relative --include="*/" --include="*.txt" --exclude="*" --delete-before --chmod=D2775,F664 /tmp/test1/ /tmp/test2/