OVH Cloud OVH Cloud

tar et fichiers soit disants modifiés

4 réponses
Avatar
patpro
Bonjour,

j'ai copié d'un disque à un autre une arbo assez simple de
répertoires/fichiers PDF d'un poids d'environ 350 Mo.
Une dixaine de minute plus tard je compresse tranquilement les PDF en
question, de maniere individuelle par la commande suivante :

for i in `ls`; do tar -czf $i.tgz $i; done

Et sur trois répertoires dans lesquels j'ai lancé cette commandes, j'ai
eu deux fois cette erreur :

tar: blahblah.pdf: file changed as we read it
tar: Error exit delayed from previous errors

Est ce la journalisation qui écrit des trucs un peu tard (10 a 15
minutes apres, mais j'en doute violemment, ce n'est pas sencé
fonctionner comme ça), ou est ce la défragmentation à la volée de
panther qui me joue des tours ?
Parce que bon, au final, la date de modif du fichier n'a pas changé...


patpro

--
je cherche un poste d'admin UNIX/Mac
http://patpro.net/cv.php

4 réponses

Avatar
FiLH
patpro writes:

Bonjour,

j'ai copié d'un disque à un autre une arbo assez simple de
répertoires/fichiers PDF d'un poids d'environ 350 Mo.
Une dixaine de minute plus tard je compresse tranquilement les PDF en
question, de maniere individuelle par la commande suivante :

for i in `ls`; do tar -czf $i.tgz $i; done

Et sur trois répertoires dans lesquels j'ai lancé cette commandes, j'ai
eu deux fois cette erreur :

tar: blahblah.pdf: file changed as we read it
tar: Error exit delayed from previous errors
Est ce la journalisation qui écrit des trucs un peu tard (10 a 15
minutes apres, mais j'en doute violemment, ce n'est pas sencé
fonctionner comme ça), ou est ce la défragmentation à la volée de
panther qui me joue des tours ?
Parce que bon, au final, la date de modif du fichier n'a pas changé...


Fichier ouvert par ailleurs par une appli ?

(Combien de fois ça m'est arrivé au momment de démonter un disque...)

Sinon t'aurais pas des expaces dans des noms de fichiers par hasard ?

Faut mettre des guillemets autour des variables sinon les arguments
ben ils sont incorrect : tar -zcf "$i.tgz" "$i"

FiLH



--
FiLH photography. A taste of freedom in a conventional world.
Web: http://www.filh.org e-mail
FAQ fr.rec.photo : http://frp.parisv.com/
Sitafoto la photo a Bordeaux : http://sitafoto.free.fr/

Avatar
patpro
In article , FiLH wrote:

Est ce la journalisation qui écrit des trucs un peu tard (10 a 15
minutes apres, mais j'en doute violemment, ce n'est pas sencé
fonctionner comme ça), ou est ce la défragmentation à la volée de
panther qui me joue des tours ?
Parce que bon, au final, la date de modif du fichier n'a pas changé...


Fichier ouvert par ailleurs par une appli ?


nope, je me réponds a moi même, c'est a priori la défragmentation à la
volée de panther qui cause cet effet.
L'erreur ne se produit jamais au second accès (le premier accès étant
l'occasion pour l'OS de défragmenter le fichier)

La fragmentation presque systématique de ces fichiers est sans doute due
au fait que j'ai fait la copie via le Finder, en attrapant les
répertoires parents et en les glissant sur l'autre disque.


Sinon t'aurais pas des expaces dans des noms de fichiers par hasard ?


nope, je les ai tous expurgés avant, ni espace, ni apostrophe, ni
guillemet, ni (([], ni accents...


Faut mettre des guillemets autour des variables sinon les arguments
ben ils sont incorrect : tar -zcf "$i.tgz" "$i"


yep, mais là y'a pas lieu ;)


patpro

--
je cherche un poste d'admin UNIX/Mac
http://patpro.net/cv.php


Avatar
Saïd
patpro :
nope, je me réponds a moi même, c'est a priori la défragmentation à la
volée de panther qui cause cet effet.
L'erreur ne se produit jamais au second accès (le premier accès étant
l'occasion pour l'OS de défragmenter le fichier)



C'est quand meme bizarre que tar se rende compte que le systeme fait une
cuisine interne sur un fichier sans en modifier les donnees. Les date de
creation et de modification sont les bonnes?

Et que dit
sudo lsof |grep $i

D'experience, lsof n'est que de peu de secours sous OS X mais on ne sait
jamais. Combien de fois une partition refusait de se demonter alors que lsof
ne me donnait rien comme fichier ouvert dessus...

--
Saïd.

Avatar
patpro
In article ,
Saïd wrote:

patpro :
nope, je me réponds a moi même, c'est a priori la défragmentation à la
volée de panther qui cause cet effet.
L'erreur ne se produit jamais au second accès (le premier accès étant
l'occasion pour l'OS de défragmenter le fichier)



C'est quand meme bizarre que tar se rende compte que le systeme fait une
cuisine interne sur un fichier sans en modifier les donnees. Les date de
creation et de modification sont les bonnes?


vivi, aucune modif des fichiers, et les dates sont bonnes. Ca m'étonne
tout autant que toi, mais c'est la seule explication que je vois.
Tous les fichiers n'étaient pas touchés, sans doute a cause de la
fourchette de taille pour la défrag auto, et à cause du fait que tous
n'étaient peut etre pas fragmentés. Et cela ne se produisait qu'une fois
pour un fichier donné, et tjrs au premier passage bien sur.

Il faudrait probablement regarder le code de tar pour comprendre ce
qu'il voit exactement par rapport au contenu du disque et à la structure
d'un fichier sur le file system.

Et que dit
sudo lsof |grep $i


rien, c'est trop tard, j'ai traité tous les fichiers... je tenterais si
jamais cela se reproduit sur d'autres fichiers.


patpro

--
je cherche un poste d'admin UNIX/Mac
http://patpro.net/cv.php