Auteur | Message |
---|---|
Administrateur
![]() |
En lisant la page de manuel de rsync, on peut s’étonner qu’il n’existe pas d’option “ filter-from=FILE ” comme variante de « --filter ”, comme il en existe une pour “ --include” et “ --exlcude ” (il existe en effet “ --include-from=FILE ” et “ --exclude-from=FILE ”). C’est le genre de chose tellement évidente qu’elle fait se demander si c’est plutôt soi‑même qui n’est pas passé à côté dans la documentation.
Pourtant non, cette option qui serait évidente, n’existe pas, mais elle peut facilement être mimée par “ filter="merge rules" ” où “ rules ” est le nom d’un fichier. Les guillemets doivent être ajoutés et ça suggère aussi qu’il faut peut‑être faire attention avec les noms de fichier de règles, contenant des espaces. Voir : How do you get rsync to load a list of (full rules, not limited like --include-from) filter rules from a file? (superuser.com), 1er Avril 2016. Tyler Rick, sur StackExchange a écrit : […] Now they just need to add --filter-from=FILE as an alias for --filter "merge FILE" […] Mais je crois deviner que cette suggestion ne sera jamais appliquée, comme avec beaucoup d’autres choses évidentes et qui ne coûteraient pourtant rien. Surtout que cette lacune peut faire se demander si on a bien lu et bien compris la documentation. Il reste quand‑même encore une chose incompréhensible : la documentation dit que à moins qu’un directive “ exclude ” ne s’y applique, tous les fichiers sont inclus ; alors quoi servent les directives “ include ” ? ![]() man rsync a écrit : rsync checks each name to be transferred against the list of include/exclude patterns in turn, and the first matching pattern is acted on: if it is an exclude pattern, then that file is skipped; if it is an include pattern then that filename is not skipped; if no matching pattern is found, then the filename is not skipped. Conclusion : “ include ” ne sert à rien (dès qu’une règle “ exclude ” s’applique, plus aucune règle n’est vérifié). On pourrait se dire qu’on a rien compris, mais le cas plus haut suggère le contraire. La seule chose pertinente semble être de générer une liste de fichiers avec “ find ”, éventuellement éditer un peu la liste si nécessaire et d’utiliser ensuite l’option “ files-from=FILE ”. Il faut re‑générer la liste à chaque fois que des fichiers sont créés ou supprimés, mais pas le choix. Une telle usine à gaz pour ça … |