GNU/Linux >> Tutoriels Linux >  >> Linux

Comment effacer les journaux de journal Systemd

Ce didacticiel rapide vous montre deux façons d'effacer les journaux de journal systemd de votre système Linux.

Le journal systemd est le propre système de journalisation de systemd. C'est l'équivalent du syslog dans le système init. Il collecte et stocke les données de journalisation du noyau, les messages du journal système, la sortie standard et les erreurs pour divers services systemd.

Une machine Linux avec systemd écrit les journaux dans le répertoire /var/log/journal. Si vous vous souvenez de la structure des répertoires Linux, /var est l'endroit où les journaux système sont stockés.

Vous pouvez soit afficher manuellement les fichiers journaux à l'aide de la commande less, soit utiliser la commande journalctl. Pour afficher tous les derniers journaux, utilisez la commande avec l'option inverse.

journalctl -r

Le truc avec la journalisation, c'est qu'avec le temps, ça commence à grossir. Et si vous vérifiez l'espace disque sous Linux, vous verrez que parfois, cela prend plusieurs Go d'espace.

Laissez-moi vous montrer comment nettoyer les journaux de journal systemd et libérer de l'espace disque sur votre système Linux.

Effacer les journaux de journal systemd

Vérifiez d'abord l'espace occupé par les journaux de journal avec la commande du :

du -sh /var/log/journal/

Vous pouvez également utiliser la commande journalctl pour la même tâche :

journalctl --disk-usage

Les deux commandes devraient donner approximativement le même résultat :

[email protected]:~$ journalctl --disk-usage
Archived and active journals take up 1.6G in the file system.

[email protected]:~$ sudo du -sh /var/log/journal/
1.7G	/var/log/journal/

Maintenant que vous savez combien d'espace les journaux de journal occupent, vous pouvez décider si vous souhaitez effacer les journaux ou non. Si vous décidez d'effacer les journaux du journal, laissez-moi vous montrer quelques façons de le faire.

Vous pouvez bien sûr utiliser la commande rm pour supprimer les fichiers du dossier log mais je ne le conseillerai pas. La commande journalctl vous donne la bonne façon de gérer les anciens journaux.

La première chose à faire est de faire pivoter les fichiers journaux. Cela marquera les journaux de journal actuellement actifs comme archives et créera de nouveaux journaux. C'est facultatif, mais c'est une bonne pratique de le faire.

sudo journalctl --rotate

Vous avez maintenant trois façons d'effacer les anciens journaux de journal. Vous supprimez les journaux antérieurs à un certain temps ou vous supprimez des fichiers journaux plus anciens afin que la taille totale du journal soit limitée à l'espace disque prédéfini ou vous limitez le nombre de fichiers journaux. Voyons comment utiliser les trois méthodes.

1. Effacer le journal de plus de x jours

Gardez à l'esprit que les journaux sont importants à des fins d'audit, vous ne devez donc pas tous les supprimer en même temps. Supposons que vous souhaitiez conserver l'historique des journaux de seulement deux jours. Pour supprimer toutes les entrées de plus de deux jours, utilisez cette commande :

sudo journalctl --vacuum-time=2d

Voici à quoi la sortie peut ressembler :

Vacuuming done, freed 1.6G of archived journals from /var/log/journal/1b9ab93094fa4978beba80fd3c48a18c

Vous pouvez également modifier le délai de fourniture en heures comme 2h, en minutes comme 2m, en secondes comme 2s. Si vous voulez des unités de temps plus grandes, vous pouvez également 2 semaines, 2 mois.

2. Restreindre les journaux à une certaine taille

Une autre méthode consiste à limiter la taille du journal. Avec cela, il supprimera les fichiers journaux du journal jusqu'à ce que l'espace disque occupé par les journaux du journal tombe en dessous de la taille que vous avez spécifiée.

sudo journalctl --vacuum-size=100M

Cela réduira la taille du journal à environ 100 Mo.

Vacuuming done, freed 40.0M of archived journals from /var/log/journal/1b9ab93094fa4978beba80fd3c48a18c.

Vous pouvez spécifier la taille en Go avec G, Mo avec M, Ko avec K etc.

3. Limiter le nombre de fichiers journaux

La troisième méthode consiste à limiter le nombre de fichiers journaux. Le journalctl a généralement des fichiers journaux pour le système et pour les utilisateurs. Au fur et à mesure que les journaux vieillissent, ils sont archivés dans divers fichiers.

Vous pouvez limiter le nombre de fichiers journaux d'archivage. Supposons que vous souhaitiez n'avoir que cinq fichiers journaux.

journalctl --vacuum-files=5

Il supprimera les anciens fichiers journaux d'archivage en ne laissant que le nombre spécifié de fichiers journaux.

Deleted archived journal /var/log/journal/1b9ab93094fa4978beba80fd3c48a18c/[email protected] (8.0M).
Deleted archived journal /var/log/journal/1b9ab93094fa4978beba80fd3c48a18c/[email protected] (48.0M).
Deleted archived journal /var/log/journal/1b9ab93094fa4978beba80fd3c48a18c/[email protected] (48.0M).
Vacuuming done, freed 104.0M of archived journals from /var/log/journal/1b9ab93094fa4978beba80fd3c48a18c.

Effacer automatiquement les anciens fichiers journaux [Nécessite une connaissance intermédiaire de la ligne de commande]

Ce que vous venez de faire va nettoyer les fichiers journaux pour le moment. Dans un mois, les journaux augmenteront à nouveau. Vous pouvez les nettoyer manuellement avec l'une des méthodes décrites ci-dessus. Mais c'est une tâche fastidieuse et vous ne vous souviendrez peut-être pas de le faire régulièrement.

La bonne chose est que vous pouvez configurer systemd pour qu'il gère automatiquement les anciens fichiers journaux.

Le journalctl a un fichier de configuration dans /etc/systemd/journald.conf. Il y a des paramètres qui sont commentés. Les lignes commentées indiquent essentiellement la valeur par défaut de ces paramètres de configuration (même s'ils sont commentés).

Vous pouvez modifier certains de ces paramètres par défaut pour nettoyer automatiquement les fichiers journaux.

Vous souhaitez modifier les paramètres suivants :

Paramètre Description
SystemMaxUse Les journaux d'espace disque maximum peuvent prendre
SystemMaxFileSize Taille maximale d'un fichier journal INDIVIDUEL
SystemMaxFiles Nombre maximum de fichiers journaux

Attention !

Veuillez noter que vous devez être prudent lors de la modification des fichiers de configuration. Vous devez être à l'aise avec un éditeur de texte basé sur un terminal comme Vim, Emacs ou Nano afin de ne pas faire d'erreurs stupides lors de l'édition du fichier de configuration.

Je conseille de faire d'abord une sauvegarde du fichier de configuration :

cp /etc/systemd/journald.conf /etc/systemd/journald.conf.back

Maintenant, vous devez décommenter (supprimer le # au début de la ligne) le paramètre que vous souhaitez utiliser. Par exemple, je souhaite limiter l'espace disque maximal occupé par les fichiers journaux à 250 Mo.

Vous devrez utiliser Vim ou un autre éditeur basé sur un terminal pour éditer ce fichier de configuration. Voici à quoi ça ressemble après avoir modifié le fichier.

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See journald.conf(5) for details.

[Journal]
#Storage=auto
#Compress=yes
#Seal=yes
#SplitMode=uid
#SyncIntervalSec=5m
#RateLimitIntervalSec=30s
#RateLimitBurst=1000
SystemMaxUse=250M
#SystemKeepFree=
#SystemMaxFileSize=
#SystemMaxFiles=100

Gardez à l'esprit qu'après avoir modifié le fichier de configuration, vous devez charger les modifications :

sudo systemctl restart systemd-journald

Le fichier journald.conf peut être utilisé pour ajuster encore plus les paramètres de journalctl. Vous pouvez même définir les niveaux de journal (info, débogage, erreur, etc.) que vous souhaitez voir. C'est à vous de décider si vous souhaitez également modifier ces paramètres.

J'espère que vous aimez cette astuce pour effacer les fichiers journaux du journal systemd. Si vous avez des questions ou des suggestions, veuillez laisser un commentaire ci-dessous.


Linux
  1. Comment créer un service Systemd sous Linux

  2. Comment effacer Journalctl ?

  3. Comment faire en sorte que Journald augmente la capacité de stockage des journaux ?

  4. Comment utiliser journalctl pour analyser les journaux sous Linux

  5. Guide du débutant pour "journalctl" - Comment utiliser Journalctl pour afficher et manipuler les journaux Systemd

Comment effacer ou vider le cache DNS sous Linux

Comment effacer la mémoire d'échange sous Linux

Comment effacer le cache DNS sur Ubuntu

Comment utiliser journalctl pour afficher et manipuler les journaux Systemd

Journalctl :comment lire et modifier les journaux Systemd

Comment arrêter le service systemd