Le Friday 04 September 2009 09:20:49 Alain JUPIN, vous avez écrit :
> Le jeudi 03 septembre 2009 à 12:24 +0200, Olivier a écrit :
> > Bonjour,
> >
> > Le document http://www.debian-administration.org/articles/117 donne
> > l'exemple d'Apache.
> >
> > Il semble que certaines applications ont besoin d'être redémarrées (ou
> > au minimum, d'être informées de l'évènement) après une rotation des
> > logs et d'autres pas.
> > Cette observation empirique personnelle est-elle exacte ?
> >
> > Si oui, comme le mécanisme de rotation est externe aux applications,
> > comment expliquer cette différence ?
> >
> > Slts
>
> Pour ma part, pour la rotation des logs j'utilise un script perso (car
> je n'aime pas la methode de logrotate)
>
> Avant de faire la rotation, je vérifie si le fichier est ouvert par :
> lsof /var/log/nomdulog
>
> Si le fichier est ouvert, juste après la rotation, je redémarre le
> service.
> Du coup, plus besoin d'indiquer si il faut redemarrer ou pas le service.
>
>
> --
> Alain
> Les pieds sur Terre, la tête dans les étoiles
Salut;

Je me permet simplement d'ajouter que "logrotate" est conçu pour faciliter 
l'administration surtout avec ses configurations séparées par service. Il est  
alors possible d'affiner nos critères de rotation. 

Par exemple, pour un service Web:

# /etc/logrotate.d/lighttpd:

/var/log/lighttpd/*.log {
        errors webmaster
        compress
        daily
        create 644 lighttpd lighttpd
        prerotate
                # Cette ligne est exécutée avant permutation du journal
                /etc/lighttpd/scripts/update_stats.sh > /dev/null
        endscript
        postrotate
                # Ces lignes sont exécutées après permutation du journal
                if [ -f /var/run/lighttpd.pid ]; then
                        /etc/init.d/lighttpd restart > /dev/null
                fi
        endscript
}

Dans cette exemple, il est demandé d'exécuter du code avant rotation du 
journal, et de même qu'après rotation. Il est alors tout à fait possible 
d'ajouter une/des condition(s) pour vérifier si il est vraiement pertinent de 
redémarre le service, avec par exemple la méthode d'Alain en 
combinant "lsof".

J'oubliai, "logrotate" est lancé par un travail "cron", ce n'est pas un 
service de type deamon ou lancé en tâche de fond persistent.


@+
-- 
(o_
(/)_
S e r g e

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers [email protected]
En cas de soucis, contactez EN ANGLAIS [email protected]

Répondre à