← retour aux snippets

rsync: .rsync-filter et règles avancées

Utiliser des fichiers .rsync-filter pour inclure/exclure finement par répertoires.

bash filesystem #rsync#filter#sync

objectif

Gérer des patterns complexes d’inclusion/exclusion maintenables par arborescence.

code minimal

# .rsync-filter (à la racine)
- .git/
- node_modules/
+ src/***
- *

# commande
rsync -a --delete --filter='dir-merge .rsync-filter' ./ src-backup/

utilisation

# ignorer des fichiers partout
echo '- *.log' >> .rsync-filter

# filtre supplémentaire en ligne de commande
rsync -a --filter='merge ./extra.filter' ./ dest/

variante(s) utile(s)

# exclure par chemin absolu relatif à la source
echo '- /secrets/' >> .rsync-filter

notes

  • dir-merge fusionne les filtres de chaque dossier traversé.
  • préférez des patterns explicites pour éviter des suppressions involontaires.