Подтвердить что ты не робот

Rsync для копирования только определенных папок

У меня есть каталог с файлами и каталогами. Я хочу сделать rsync копию нескольких папок из этого каталога. Например, скажем, у меня есть это:

/home/user
-- drwxr-xr-x  folderA
-- drwxr-xr-x  folderB
-- drwxr-xr-x  folderC
-- -rw-r--r--  file.1
-- -rw-r--r--  file.2

Я хочу скопировать folderA и folerB с помощью rsync. Я создал файл rsync_folders.txt

+ /folderA/**
+ /folderB/**

Моя проблема в том, что rsync всегда будет копировать файл, если он не соответствует шаблону exclude. Но если я добавлю

- /**

ничего не копируется, потому что сначала rsync сопоставляет шаблоны исключений.

Любые идеи?

Примечание. Я не могу перечислить все папки и файлы, которые я хочу исключить. Время от времени оно будет меняться.

4b9b3361

Ответ 1

Либо используйте rsync -av src1 src2 src3 ... dst, либо поместите все папки, которые вы хотите в rsync, в текстовый файл (каждая папка в отдельной строке) и используйте rsync -arv --files-from=sources.txt dst.
Обратите внимание, что по умолчанию -a подразумевает --recursive, но не тогда, когда используется --files-from, поэтому в этом случае -r должно быть явно указано.