3 votes

Limite de capacité du fichier syslog

Je voudrais réduire l'utilisation du stockage de syslog car l'espace libre de la partition racine est petit.

L'utilisation du stockage de syslog est indiquée ci-dessous.

-rw-r-----  1 syslog            adm      42G  Aug 31 14:56 syslog
-rw-r-----  1 syslog            adm     3.6G  Aug 31 11:55 syslog.1
-rw-r-----  1 syslog            adm     512M  Aug 30 18:24 syslog.2.gz
-rw-r-----  1 syslog            adm      34K  Aug 28 07:44 syslog.4.gz
-rw-r-----  1 syslog            adm      52K  Aug 27 08:31 syslog.5.gz
-rw-r-----  1 syslog            adm      47K  Aug 26 08:47 syslog.6.gz

Pour réduire l'utilisation du stockage (sous 1000 Mo) de syslog, \etc\logrotate.conf a été modifié comme indiqué ci-dessous. Cependant, l'utilisation du stockage est maintenant élevée.

# voir "man logrotate" pour plus de détails
# faire tourner les fichiers journaux toutes les semaines
quotidien

# utilisez le groupe syslog par défaut, puisque c'est le groupe propriétaire
# de /var/log/syslog
su root syslog

# conserver les logs des 4 dernières semaines
tourner 4

# créer de nouveaux fichiers journaux (vides) après rotation des anciens
créer

# décommentez ceci si vous souhaitez compresser vos fichiers journaux
compresser

# les packages déposent les informations de rotation des logs dans ce répertoire
inclure /etc/logrotate.d

# aucun package ne possède wtmp, ou btmp -- nous les ferons tourner ici
/var/log/wtmp {
    missingok
    mensuel
    créer 0664 root utmp
    tourner 1
}

/var/log/btmp {
    missingok
    mensuel
    créer 0660 root utmp
    tourner 1
}

# des logs spécifiques au système peuvent être configurés ici
taille 1000M

Comment puis-je réduire le stockage pris par syslog ?

4voto

Rinzwind Points 270388

Je crois que vous abordez cela du mauvais angle.

Analyser pourquoi il est si grand devrait être votre 1ère préoccupation : s'il est dû à des erreurs, corrigez-les en premier. Sur un système très utilisé, nos fichiers syslog sont tournés tous les jours et nous nous retrouvons avec des tailles comme celle-ci...

    -rw-r----- 1 syslog    adm    2937 31 aoû 08:50 syslog
    -rw-r----- 1 syslog    adm   28451 31 aoû 06:30 syslog.1
    -rw-r----- 1 syslog    adm    2263 30 aoû 06:50 syslog.2.gz
    -rw-r----- 1 syslog    adm    2621 29 aoû 06:30 syslog.3.gz
    -rw-r----- 1 syslog    adm    2392 28 aoû 06:50 syslog.4.gz
    -rw-r----- 1 syslog    adm    2812 27 aoû 06:50 syslog.5.gz
    -rw-r----- 1 syslog    adm    3025 26 aoû 06:50 syslog.6.gz
    -rw-r----- 1 syslog    adm    2372 25 aoû 06:25 syslog.7.gz

Alors, jetez un œil à l'intérieur de syslog avec sudo tail /var/log/syslog et voyez si quelque chose ressort (des mots comme erreur ou des lignes répétées encore et encore).

Si un fichier journal de 3,6 Go est normal pour votre système (et je doute fortement), vous avez vraiment besoin d'un très très gros disque dur.

0voto

jrishaw Points 71

Tout d'abord, vous devriez essayer de trouver la source du grand volume de journalisation.

S'il n'est pas possible de corriger la cause, vous pouvez essayer l'une de ces options:


Vous pouvez définir SystemMaxUse=50M dans /etc/systemd/journald.conf

voir https://askubuntu.com/a/1012913/34298

Vous pouvez réduire l'espace manuellement en utilisant la commande journalctl --vacuum par exemple:

journalctl --vacuum-size=50M

Je ne suis pas sûr si cela affecte également /var/log/syslog.


Peut-être que vous découvrirez comment faire cela dans /etc/rsyslog.d/50-default.conf, j'ai trouvé cette réponse:

Limitez la taille du syslog actuel

mais cela semble désuet. Veuillez me dire si vous trouvez la solution réelle dans un Ubuntu moderne.


utilisez ce script pour tronquer manuellement le syslog:

enregistrez dans /usr/local/sbin/truncate_syslog.sh:

#!/bin/bash

# Supprime tout sauf les 1000 dernières lignes dans syslog

LIGNES=1000
tail -n $LIGNES /var/log/syslog > /tmp/tmpfile
cat /tmp/tmpfile > /var/log/syslog
rm /tmp/tmpfile
service syslog restart

voir mon gist

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X