2016-09-02 2 views
0

Я хочу rsync только для определенных типов файлов (например, .py), и я хочу исключить некоторые каталоги (например, venv).Rsync, включают только определенные типы файлов, исключая некоторые каталоги

Это то, что я пробовал:

rsync -avz --include='*/' --exclude='venv/' --include='*.py' --exclude='*' /tmp/src/ /tmp/dest/ 

Но это не работает.

Что мне не хватает?

ответ

1

С rsync вам не нужно использовать --include="*.py", чтобы включить '*.py' файлов в копию. Опция --include будет включать только файлы, которые ранее были исключены --exclude=. rsync указывает ** как спецификатор подстановки. Например, если вы хотите скопировать все .py файлов в текущем каталоге (и подкаталоги), но ничего не копировать из каталога venc, вы можете сделать что-то подобное:

rsync -uav --exclude="venc" **.py destination 

который будет рекурсивно скопировать все .py файлов в и ниже настоящего рабочего каталога до destination, за исключением каталога venc и любого его содержимого.

+0

Это не копирует * .py файлы в подкаталоги. – CentAu