[gull] Tronquer des fichiers log
Marc Mongenet
marc at mongenet.ch
Wed Jan 5 11:05:28 CET 2011
Le 5 janvier 2011 10:24, Yves Martin <ymartin1040 at gmail.com> a écrit :
>
>
> Par contre si des processus sont toujours en train de concaténer des lignes, on risque de les perdre - à moins de faire du 'flock' en plus.
Il me semble aussi qu'on risque de perdre des lignes.
Mon code recopie les lignes ajoutées pendant le comptage de retour de ligne
(et dans ce cas conserve plus de lignes que demandé), mais perd les lignes
ajoutées entre la fin de copie et le ftruncate.
En revanche, je ne vois pas de solution avec flock, car les locks Unix
sont coopératifs. Je crois cependant qu'il existe des "mandatory locks"
sur Linux, mais je n'ai aucune expérience avec. Voir
http://www.mjmwired.net/kernel/Documentation/filesystems/mandatory-locking.txt
Les verrous de fichier sur Unix sont généralement complètement foireux.
Voir http://oilq.org/fr/node/13344 par exemple.
Marc
More information about the gull
mailing list