bros a écrit :
...sachant que pour que TAR puisse archiver chaque fichier il lui faut absolument le chemin absolu de chacun de ces fichiers...
|
Ah ? et d'où sors-tu cette certitude ???
tape donc "tar cvf /tmp/toto.tar ." ou bien "cd /etc; tar cvf /tmp/titi.tar passwd group" et tu verras s'il faut le chemin absolu...
bros a écrit :
CA y est résolu, en fait il falait d'abord se rendre dans le répertoire Racine, ce qui donne :
cd /repertoireRacine/ ; find . -type f -mmin $minutes) | tar cvzf fichiers-recents.tar.gz -T - -C /repertoireRacine
Le "find ." fesant toute la différence
|
Tu viens de (re) découvrir la différence entre "nom relatif" et "nom absolu" et aussi l'utilité du nom "." (où beaucoup d'ahuris qui découvrent les noms "." et ".." et qui ne voient un nom de répertoire qu'associé à la commande "cd" disent << mais ça sert à quoi de faire "cd ." ??? >>...)
Ce qui m'étonne, c'est que les "tar" récents ont l'habitude de supprimer d'eux-même le "/" initial quand il y est. Ce qui fait que si tu tapes
tar cvf /tmp/toto.tar /home |
Tu verras une ligne disant à peu près ceci "removed "/" from archive" et t'auras dans "/tmp/toto.tar" des noms commençant par "home" et non "/home" (le "/" faisant toute la différence entre nom relatif et nom absolu)
Il me semble que tu es sur un système plutôt récent style Linux (la commande "xargs" n'étant pas non plus hyper vieille) donc je suis étonné que tu aies eu ce pb...
Normallement, en tapant ta commande initiale
find /RepertoireRacine/ -type f -mmin -$NbrsDeMinutesAnterieures | xargs tar cvf - {} | gzip > fichierDumpDesFichiersRecents.tar.gz |
Tu aurais dû te retrouver avec une archive contenant "RepertoireRacine/truc", "RepertoireRacine/chose" etc... et non "/RepertoireRacine/truc", "/RepertoireRacine/chose", etc...
---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.