[rsync] du bon usage de --filter (résolu)

Applications, problèmes de configuration réseau
Avatar de l’utilisateur
sztruks
archer
Messages : 126
Inscription : mer. 30 mars 2011, 20:45
Localisation : Varsovie

[rsync] du bon usage de --filter (résolu)

Message par sztruks »

Bonjour,


J’essaie desespérément d’exclure des fichiers d’une synchronisation avec rsync, mais visiblement je n’ai pas bien compris le manuel et les quelques post que j’ai pu lire…
Toutes mes tentatives pour inclure ou exclure des fichiers se soldent par des échecs, rsync me transfère tout avec obstination.
Par exemple si je fais un

Code : Tout sélectionner

 rsync --filter="+ png" cours/* /tmp 
Tous mes fichiers sont transférés, même chose si je tente d’exclure le png avec un --filter="- png". Les options include, include-from et exclude ne fonctionnent pas mieux.
Par contre, si j’oublie l’espace et écris "+png", j’ai bien un message d’erreur…

J’ai dû mal comprendre quelque chose dans le man, qui est assez complexe, mais quoi?

Merci d’avance pour toute piste!
Dernière modification par sztruks le ven. 17 mai 2013, 10:50, modifié 1 fois.
Image
Avatar de l’utilisateur
alban
newbie
Messages : 3
Inscription : mar. 30 oct. 2012, 22:53

Re: [rsync] du bon usage de --filter

Message par alban »

Salut,

En fait rsync pour son filtre cherche une correspondance sur le nom du fichier complet (dans ce cas un fichier qui s'appelerait "png"), sauf si le pattern contient une wildcard (*, ? ou [ d'après le man). Dans ton cas un

Code : Tout sélectionner

rsync --filter "- *png"
ou

Code : Tout sélectionner

rsync --filter "- **png"
devrait mieux marcher (j'avoue ne pas bien voir la différence, et n'avoir jamais eu besoin de la creuser pour le peu d'usage que j'ai eu de exclude).
Avatar de l’utilisateur
sztruks
archer
Messages : 126
Inscription : mer. 30 mars 2011, 20:45
Localisation : Varsovie

Re: [rsync] du bon usage de --filter (résolu)

Message par sztruks »

Merci pour ta réponse, j’avais mal interprêté la portion de manuel, j’avais compris que rsync faisait l’équivalent d’une recherche en regexp de type png$ (confusion à la lecture de ^ et $)…

Il y a visiblement un autre truc retors, c’est que dans ma formule, en demandant un rsync sur *, seuls les filtres négatifs font leur effet — c’est ce qui ressort d’un -vv. Le filtre positif n’est pas interprêté comme ne faire les transferts que sur un fichier.
Image
jean_no
yeomen
Messages : 285
Inscription : dim. 09 sept. 2007, 12:19

Re: [rsync] du bon usage de --filter (résolu)

Message par jean_no »

Salut

tu peux auusi créer un fichier no_save contenant par ex:

Code : Tout sélectionner

#"- foo/" would exclude any directory named foo
#"- *.o" would exclude all names matching *.o
- *.*~
- *~
- *.old
- *.png
et appeler rsync comme ceci :

Code : Tout sélectionner

rsync ... --exclude-from=/home/tonuser/no_save ... 
A+
Répondre