« Systemd: rendre persistant journalctl » : différence entre les versions

De Linux Server Wiki
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
 
Ligne 14 : Ligne 14 :
systemctl restart systemd-journald
systemctl restart systemd-journald
</pre>
</pre>
Note : si l'option <code>Storage=auto</code> est passée dans <code>/etc/systemd/journald.conf</code> le journal sera écrit :
* dans <code>/var/log/journal/</code> si le dossier existe et est accessible en écriture
* dans <code>/run/log/journal/</code> (tmpfs) sinon


Pour afficher les logs du boot précédent :
Pour afficher les logs du boot précédent :

Dernière version du 15 août 2022 à 11:04

La commande journalctl de systemd permet d'afficher les logs complet du dernier boot. Cependant, en cas de crash/freeze du serveur, il peut être intéressant d'avoir accès aux logs (en particulier ceux du kernel) juste avant et lors du plantage. Pour cela, il faut rendre journalctl persistant.

Éditez /etc/systemd/journald.conf et modifiez la ligne Storage comme suit :

[Journal]
Storage=persistent

Puis :

mkdir /var/log/journal
systemd-tmpfiles --create --prefix /var/log/journal
systemctl restart systemd-journald

Note : si l'option Storage=auto est passée dans /etc/systemd/journald.conf le journal sera écrit :

  • dans /var/log/journal/ si le dossier existe et est accessible en écriture
  • dans /run/log/journal/ (tmpfs) sinon

Pour afficher les logs du boot précédent :

journalctl --boot=-1

0 correspondant au boot actuel, -1 au boot précédent

Vous pouvez aussi afficher les logs d'un boot spécifique, dont vous pouvez récupérer l'id avec la commande suivante :

journalctl --list-boots

Vous pouvez réduire la période de temps affiché avec les commandes --since et --until :

journalctl --since "2019-01-10" --until "2019-01-15 03:00"
journalctl --since yesterday
journalctl --since "1 hour ago"

Pour afficher uniquement les logs kernel :

journalctl -k

Pour voir les logs les plus récents (10 par défaut) :

journalctl -n
journalctl -n 50

Pour suivre les logs en temps réel :

journalctl -f

Réduire la taille du journal :

journalctl --vacuum-time=14d
journalctl --vacuum-size=100M