Cómo sincronizar recursivamente un árbol excluyendo el directorio node_modules sin importar dónde aparezca en el árbol

Cómo sincronizar recursivamente un árbol excluyendo el directorio node_modules sin importar dónde aparezca en el árbol

Actualmente estoy usando rsync para hacer una copia de seguridad de mi unidad de desarrollo. En él tengo muchos proyectos con un node_modulesdirectorio. Esto puede ocurrir de forma recursiva en cualquier parte del árbol. Estoy intentando que rsync excluya este directorio por completo sin importar dónde aparezca en el árbol, excepto que solo puedo excluirlo en la rama superior.

Pensé que al usar un patrón global en el indicador de exclusión podría lograr esto, pero no puedo.

EDITAR: Aquí está el comando que estoy usando:

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

El archivo ~/backup_scripts/exclude_listcontiene:

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

También lo intenté */node_modulesy node_modules/*fue en vano.

información relacionada