gratifiant > linux.debian.user.french

Jean-Philippe MENGUAL (14/11/2019, 18h10)
Bonjour,

Pour des raisons compliquées, mon outil de braille se met à cracher des
logs au point de remplir plusieurs gigas de fichiers. Et comme les logs
sont sur la partition système, ça finit par le paralyser.

Comment personnaliser l'outil de logs pour qu'il supprime tous fichiers
dépassant un certain poids? Ou qu'il le déplace dans un autre endroit
(genre le home)? Idéale"ment il faudrait surtout qu'il comprenne les
messatges similaires et n'en mette qu'une ligne dans le fichier mais ça
c'est trop élaboré je suppose. Ou qu'il ne log rien relativement à un
programme donné.

Merci de votre aide

Amicalement,
Belaïd (14/11/2019, 18h40)
Bonjour,

Il faudrait configurer logrotate pour qu'il puisse prendre en compte le
fichier de log de ton application/logiciel. Après ça tu peux lui dire par
exemple d'archiver , de supprimer les logs d'une certaine taille, date ...

Le jeu. 14 nov. 2019 17:06, Jean-Philippe MENGUAL <jpmengual> a
écrit :
[..]
Belaïd (14/11/2019, 18h50)
Bonjour,

Il faudrait configurer logrotate pour qu'il puisse prendre en compte le
fichier de log de ton application/logiciel. Après ça tu peux lui dire par
exemple d'archiver , de supprimer les logs après un certain délais, la
quantité de log à gardé ...

Le jeu. 14 nov. 2019 17:06, Jean-Philippe MENGUAL <jpmengual> a
écrit :
[..]
yamo' (14/11/2019, 19h00)
Salut,

Jean-Philippe MENGUAL a tapoté le 14/11/2019 17:10:
> Bonjour,
> Pour des raisons compliquées, mon outil de braille se met à cracher des
> logs au point de remplir plusieurs gigas de fichiers. Et comme les logs
> sont sur la partition système, ça finit par le paralyser.
> Comment personnaliser l'outil de logs pour qu'il supprime tous fichiers
> dépassant un certain poids? Ou qu'il le déplace dans un autre endroit
> (genre le home)? Idéale"ment il faudrait surtout qu'il comprenne les
> messatges similaires et n'en mette qu'une ligne dans le fichier mais ça
> c'est trop élaboré je suppose. Ou qu'il ne log rien relativement à un
> programme donné.


Tu peux créer des règles avec logrotate, il est fait pour ça.
Normalement, il est lancé une fois par jour mais, c'est configurable.
Daniel Caillibaud (14/11/2019, 23h10)
Le 14/11/19 à 17h06, Jean-Philippe MENGUAL <jpmengual> a écrit :
> Bonjour,
> Pour des raisons compliquées, mon outil de braille se met à cracher des
> logs au point de remplir plusieurs gigas de fichiers. Et comme les logs
> sont sur la partition système, ça finit par le paralyser.


Si c'est l'outil qui écrit lui-même dans un fichier, alors les réponses
concernant logrotate sont à suivre (il faudra peut-être créer un nouveau
fichier /etc/logrotate.d/nomQueTuVeux, tu peux prendre exemple sur ceux qui
y sont, sinon `man logrotate`)

Si le log est géré par systemd/journald, normalement il purge tout seul si
ça prend trop de place, cf `man journald`

Mais ça n'empêche pas de regarder ce qu'il y a dans ce log pour voir si y'a
pas moyen de limiter les messages à la source (soit en réglant lepb qui
le fait râler, soit en le lançant avec une option pour le rendre moins
bavard, si c'est possible).

Pour l'autre question, mettre le log dans /home, faut voir, ça dépend de
qui écrit dedans et où on lui précise le fichier de log.

Et pour que tout le contenu de /var/log soit dans /home/log, sans avoir à
modifier les configurations, il y a toujours le moyen faire un montage
bind, en ajoutant dans /etc/fstab ces deux lignes :

# on monte /home/log sur /var/log, pour éviter de remplir / avec des logs
/home/log /var/log none defaults,bind 0 0

Attention à vider le /var/log actuel avant de faire le montage, sinon les
fichiers qui sont dedans seront masqués mais prendront toujours de la place
sur le disque

# Pour voir qui écrit dans /var/log (en root pour être sûr de tout voir)
lsof +D /var/log
# couper tous les services qui écrivent dedans
systemctl stop rsyslog.service
systemctl stop ?
# vérifier
lsof +D /var/log
# déplacer les logs (si on a pas encore créé /home/log)
mv /var/log /home/
# monter /home/log sur /var/log
mount /var/log
# vérifier qu'on a bien la même chose
ls -al /var/log
ls -al /home/log
# redémarrer les services qu'on a coupé précédemment
systemctl start rsyslog.service
systemctl start ?
Rafael Diaz Maurin (15/11/2019, 12h30)
Bonjour,

Une bonne pratique de gestion des logs est de les déposer sur un système
de fichier dédié (ex : "/var/log").
Si une application peut potentiellement devenir très bavarde, on peut
lui associer un système de fichier (ex : "/var/log/appli")

Ces bonnes pratiques évitent que le remplissage de la partition ne
plante le système avec un "partition full"...

Bonne journée,
Rafael

Le 14/11/2019 à 17:06, Jean-Philippe MENGUAL a écrit :
[..]
Discussions similaires