Como sincronizar recursivamente uma árvore, excluindo o diretório node_modules, não importa onde ele apareça na árvore

Como sincronizar recursivamente uma árvore, excluindo o diretório node_modules, não importa onde ele apareça na árvore

Atualmente estou usando o rsync para fazer backup da minha unidade de desenvolvimento. Nele tenho muitos projetos com um node_modulesdiretório. Isso pode acontecer recursivamente em qualquer parte da árvore. Estou tentando fazer com que o rsync exclua esse diretório completamente, não importa onde ele apareça na árvore, exceto que só consigo excluí-lo no ramo superior.

Achei que usando um padrão glob no sinalizador de exclusão eu conseguiria isso, mas não estou conseguindo.

EDIT: Aqui está o comando que estou usando:

rsync -avrt --no-whole-file --inplace --delete --exclude-from ~/backup_scripts/exclude_list . /Volumes/Backups

O arquivo ~/backup_scripts/exclude_listcontém:

Library/Application Support/Spotify/PersistentCache/Storage/
Library/Application Support/Steam/appcache/httpcache/
Library/Application Support/Steam/config/htmlcache/
Library/Caches/
Library/Logs/
.bash_sessions/
.npm/
.composer/
.pdepend/
.cocoapods/
node_modules

Também tentei */node_modulese node_modules/*sem sucesso.

informação relacionada