Я пытаюсь настроить rsync, исключающий все .*
файлы, кроме .htaccess
но, к сожалению, это не работает:
rsync -avP --exclude=".*" --include="./.htaccess" ./. user@server:/dir
Можно ли как-то исключить общие правила исключения?
Просто измените порядок ваших аргументов:
rsync -avP --include="./.htaccess" --exclude=".*" ./. user@server:/dir
Побеждает первый соответствующий шаблон. Для получения дополнительной информации см. Раздел ПРАВИЛА ФИЛЬТРА rsync(1)
справочная страница.
Вы могли бы сделать следующее
find . -type f -name ".*" |grep -v .htaccess > dotfiles
тогда используйте
rsync --avP --exclude-from=dotfiles ./. user@server:/dir