"rsync" fichier d'exclusion : problème

J’ai passé au moins 3 heures à chercher dans tous les sens et je n’arrive pas à trouver où ça déconne.
Le fichier d’exclusion pour la sauvegarde du système est parfaitement pris en compte.
Le fichier d’exclusion pour la sauvegarde de /home est totalement ignoré
Les sauvegardes sont parfaites.
J’ai mis volontairement le même nom de fichier (exclure) mais le contenu n’est pas le même.

sudo rsync -av --del --exclude-from=/root/exclure / /mnt/autre/sauve sudo rsync -av --del --exclude-from=/home/ricardo/exclure /home/ricardo/ /mnt/autre/sauve-ricardo
J’ai fait les essais suivant avec dans tous, le même résultat négatif :
à chaud, mais aussi à partir d’un autre système en montant les partitions ‘à sauvegarder’ et ‘réceptive’.
J’ai modifié les emplacements du fichier exclure en le plaçant ailleurs que dans la partition à sauvegarder.
J’ai rebouté bien sûr.
Je cherche ce que je n’ai pas pu faire comme essais mais je n’en trouve pas
Je donne ma langue au chat.
Ptet que vous verrez la poutre que j’ai dans l’oeil et que je ne vois pas :unamused:
merci !

Salut ricardo

Ton fichier home/user/exclure n’est il pas censé se trouvé dans /root ???

Où Caché ??? de mémoire …

AMHA le souci est là !

/chemin/Dossier/fichier … :wink:

Une majuscule dans le nom du fichier exclure ?
Ou un malencontreux espace à la fin de son nom ?

[quote=“François_29”]Une majuscule dans le nom du fichier exclure ?
Ou un malencontreux espace à la fin de son nom ?[/quote]
Ben j’ai vérifié tout ça, d’ailleurs, je n’emploie systématiquement que des minuscules dans mes noms de fichier. Pas d’espaces non plus.

@ Loreleil :
Pour mes essais, je ne me sers pas du script et je ne tiens compte que des deux lignes de commande du 1er post.
Donc, le fichier est bien /home/ricardo/exclure
J’ai quand même essayé en le plaçant dans /root mais rien de mieux.

huuum, je vais me faire insistant peut être, mais /chemin/Dossier/fichier …

As tu re re vérifié … :wink:

Autre cause ? ma foi à part ça …

X sauvegardes de ceci cela … X fichiers exclure de ceci cela … :033

Je viens de revérifier tout, y-compris de remettre en fichier caché mais : pareil !
Je ne comprends pas ta dernière énigme ?

Le problème vient peut-être du contenu du fichier exclure. Il faut peut-être des chemins absolus dans le fichier si tu lances rsync en root ou avec sudo.

J’y ai aussi pensé mais pour être absolus, ils le sont je pense ?

/home/ricardo/site-web-rictux-14.05.11 #/home/ricardo/.local/share /home/ricardo/canon /home/ricardo/.KDE/tmp-sid-sda8 /home/ricardo/attente/*
Celui qui me sert de test est le dernier et je l’ai mis à ttes les sauces : avec / final, avec et sans *, etc.

EDIT :
je viens même de faire un essai de plus en le modifiant de nom : “sauf”, fichier que j’ai placé en direct /home/

Ce sont bien des chemins absolus.
Pour exclure un dossier complet, je termine la ligne par un / sans joker.
Exemple pour la corbeille :
/.local/share/Trash/
(J’utilise des chemins relatifs et je fais mes sauvegardes en mode utilisateur).

[quote=“François_29”]Ce sont bien des chemins absolus.
Pour exclure un dossier complet, je termine la ligne par un / sans joker.
Exemple pour la corbeille :
/.local/share/Trash/
(J’utilise des chemins relatifs et je fais mes sauvegardes en mode utilisateur).[/quote]
oui, je fais comme ça aussi habituellement mais j’ai tenté un peu tout.
il me refuse en $. Il y a des fichiers appartenant à root dans /home/ricardo

J’ai enfin trouvé, à la soupe maintenant.
Je reviens ce soir pour expliquer.
:023

Alors, en y réfléchissant, j’ai compris la différence entre le fichier exclure du système sans /home/user et celui du /home/user, le premier fonctionnant et le second, non :
le chemin est à considérer par rapport à la partition devant être sauvegardée.
De ce fait, le chemin du fichier ‘exclure’ de /home/user/ ne doit être pris en compte qu’après ‘user’ et non en ‘absolu’.
Ce qui, au lieu de (pour mon cas) :

/home/ricardo/site-web-rictux-14.05.11/ /home/ricardo/canon/ /home/ricardo/.KDE/tmp-sid-sda8/ /home/ricardo/attente/

donne :

/site-web-rictux-14.05.11/ /canon/ /.KDE/tmp-sid-sda8/ /attente/
La 1ère barre oblique étant facultative, ça fonctionne avec (comme ici) ou sans.

Ce dernier fichier testé et re-testé prend parfaitement en compte les exclusions, qu’on le nomme comme on veut et qu’on le place où on veut, du moment que le chemin de la commande est conforme. Cette dernière n’étant donc pas modifiée :
sudo rsync -av --del --exclude-from=/home/ricardo/exclure /home/ricardo/ /mnt/autre/sauve-ricardo
Pour ma part et pour être clair :
/root/exclure
et
/home/ricardo/exclure

Je m’en vais, de ce pas, placer un additif dans mon tuto et une modification dans le script.
Merci à loreleil et à François29 pour leur participation. Et dire que pour cette simple petite connerie, j’aurai passé au moins 5 ou 6 heures. Vraiment Ricardo, tu n’es plus dans le coup :unamused:

[quote]Je m’en vais, de ce pas, placer un additif dans mon tuto et une modification dans le script.[/quote]Je pense même que ça vaudrait le coup de remonter cette info aux développeurs ! Franchement j’ai du mal à voir la logique derrière cette syntaxe. Tous les logiciels utilisent toujours le positionnement absolu, puisqu’il est toujours possible de se positionner relativement en utilisant “./” et “…/”. Ca me laisse perplexe ! Quelqu’un connaît la bonne raison à cette syntaxe ?

[quote]Et dire que pour cette simple petite connerie, j’aurai passé au moins 5 ou 6 heures. Vraiment Ricardo, tu n’es plus dans le coup :unamused:[/quote]Dis toi que ce sera toujours autant d’économisé pour d’autres :wink:

Je lis dans le man, à propos d’une autre option :

[code]–files-from=FILE
Using this option allows you to specify the exact list of files
to transfer (as read from the specified FILE or - for standard
input). It also tweaks the default behavior of rsync to make
transferring just the specified files and directories easier:

          o      The  --relative  (-R)  option is implied, which preserves
                 the path information that is specified for each  item  in
                 the file (use --no-relative or --no-R if you want to turn
                 that off).[/code]

L’option –files-from (liste positive) active l’option -R qui fait considérer les chemins de la liste des fichiers comme des chemins relatifs.

Le comportement de rsync est apparemment le même avec –exclude-from.

Il faut croire que oui, en tous cas, ça ne fonctionne pas avec chemin absolu, vous pouvez en faire l’essai.
En effet Cluxter, mon temps passé, n’est pas perdu si ça sert à d’autres et c’est bien pour ça que nous fréquentons tous (ou presque) ce forum.
Je profite assez souvent des trouvailles des autres pour leur faire profiter des miennes.