[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