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

Re: Eviter que les journaux n'étouffent le système



Le 14/11/19 à 17h06, Jean-Philippe MENGUAL <jpmengual@debian.org> 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 le pb 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 …

-- 
Daniel

Pour qu'il y ait le moins de mécontents possible il faut toujours taper sur
les mêmes.
devise Shadok 


Reply to: