[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: vidage journal



Bonjour,

Dans son message du 18/4/2001, Charles Goyard écrivait:

> un fichier de log de 15 Mo.
> on l'efface, on averti pas Apache.
> Apache écrit un nouveau truc dans les logs, le fichier fait 15 Mo de
> blancs+ la nouvelle ligne de log.
> 
> C'est peut-être similaire avec les autres outils.

C'est un comportement tres normal (et ce sont vraisemblablement des nuls, pas
des blancs), dans la mesure ou le descripteur de fichier que possede Apache - ou
n'importe quel autre outil - a ses propres pointeurs, qui n'ont rien a voir avec
le fichier reellement present sur le disque... Pour se rendre compte d'un
changement tel qu'une RAZ du fichier, il faut que le processus qui utilise ce
fichier le referme et l'ouvre a nouveau, ou au minimum fasse un fstat() dessus.

Pour dire a Apache de faire ca, le plus simple est de le redemarrer en douceur
par un "apachectl graceful" (voir la doc), ou a la main en envoyant un signal
SIGUSR1 au processus pere. Pour syslog, c'est encore plus simple: il suffit de
lui envoyer un signal SIGHUP.

En regle generale, envoyer simplement un echo "">le_fichier_de_log est une tres
mauvaise idee, car les programmes qui ouvrent et ferment les logs a chaque fois
qu'ils ont quelque chose a y ecrire sont tres peu nombreux (et ca se comprend
vu l'overhead que ca amene :-) ).

Bruno

-- 
--   Service Hydrographique et Oceanographique de la Marine --- Service INF
--     13, rue du Chatellier ---  BP 30316  --- 29603 Brest Cedex, FRANCE
--        Phone: +33 2 98 22 17 49  ---  Email: Bruno.Treguier@shom.fr



Reply to: