Назад | Перейти на главную страницу

rsync как включить файлы, которые исключены

Я пытаюсь настроить 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