rsync --exclude: копировать папку без кэша и зависимостей

Категория: Bash · Язык: Bash · Обновлено:

Передайте rsync шаблон --exclude, чтобы пропустить кэш, зависимости или локальные данные при копировании. Начните с --dry-run: он покажет план и не изменит файлы назначения. ????? ??????????? ?????????? ???????? ?????? ??????? ? ????????? ?????? ? ??????? ?????.

Рабочий пример

Bash
mkdir -p /tmp/src/project/node_modules /tmp/dst
printf 'code' > /tmp/src/project/app.js
rsync -av --dry-run --exclude='node_modules/' /tmp/src/project/ /tmp/dst/project/

Слеш в конце шаблона означает каталог. Путь источника с завершающим слешем копирует содержимое, без него rsync создаёт вложенную папку с исходным именем.

Частый вопрос

Как исключить .git, оставив другие скрытые файлы?

Добавьте --exclude=.git/. Шаблон исключает каталог Git, но не затрагивает остальные dotfiles.