Précédent   Forum des professionnels en informatique > Systèmes > Linux > Système
Système Vos questions autour de l'administration système
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/07/2011, 17h10   #1
Membre actif
 
Homme
Inscription : septembre 2003
Messages : 457
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : septembre 2003
Messages : 457
Points : 190
Points : 190
Par défaut Logrotate fonctionnement questions

Bonjour,

Je m'intéresse à ce fabuleux outil qu'est Logrotate, et j'ai une question: comment fonctionne-t-il ?

Je veux dire, disons que mon application qui crache ses logs dans myApp.log

Comment Logrotate s'empare-t-il des droits sur le fichier, si mon apply est un démon qui ne s'arrête jamais ? Il peut faire une copie du fichier de log pour l'archiver et le compresser, mais mon fichier de log continue malgré tout à gonfler non ?
Est-ce qu'il tue mon appli et la redémarre de suite (ça fait sale ) ?

Désolé si la question est stupide
drKzs est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 11/07/2011, 18h31   #2
Membre Expert
 
Étudiant
Inscription : août 2004
Messages : 500
Détails du profil
Informations personnelles :
Âge : 22

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2004
Messages : 500
Points : 1 017
Points : 1 017
Envoyer un message via MSN à Senaku-seishin
Logrotate est une tâche cron exécuté avec les droits root.

Lors de la rotation, il envois généralement un signal HUP. Exemple :
Code :
/usr/bin/killall -HUP /usr/sbin/rsyslogd
L'envoi du signal HUP demande au processus père de tuer tous ses processus fils, comme le signal TERM, mais le processus père ne se termine pas. Il relit ses fichiers de configuration, et rouvre les fichiers de trace. Il lance ensuite un nouvel ensemble de processus fils et continue de traiter les requêtes. C'est se qui se passe quand :
Code :
/etc/init.d/apache reload
__________________
Avoir un regard neutre sur notre vie dénuée de sens, c'est la voir tel un ignorant
Senaku-seishin est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 12/07/2011, 09h57   #3
Membre actif
 
Homme
Inscription : septembre 2003
Messages : 457
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : septembre 2003
Messages : 457
Points : 190
Points : 190
D'accord et en lisant un peu, j'ai vu qu'il y avait un moyen (propre ??) pour que logrotate ne termine pas le processus qui écrit sur le log, avec l'option copytruncate...

Comme il est stipulé qu'il y a une petite probabilité de perdre une petite quantité de données, je me demande si c'est propre comme solution ?

A moins que pour une application personnelle (que l'on développe), on puisse spécifier un signal envoyé par logrotate sur la réception duquel l'application effectuerait une tâche, comme lâcher le fichier log ?

Merci
drKzs est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 01/09/2011, 15h40   #4
Membre actif
 
Homme
Inscription : septembre 2003
Messages : 457
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : septembre 2003
Messages : 457
Points : 190
Points : 190
Bon à première vue, pas de soucis avec le copytruncate
drKzs est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h55.


 
 
 
 
Partenaires

Hébergement Web