journalctl
est un outil en ligne de commande utilisé pour afficher et gérer les journaux système sous Linux. Il fait partie de systemd
, le système d'init et de gestion des services de nombreuses distributions Linux modernes. journalctl
permet de consulter les journaux de manière structurée et de les filtrer selon divers critères.
Installation
journalctl
est généralement installé par défaut avec systemd
sur la plupart des distributions Linux modernes. Si ce n'est pas le cas, vous pouvez installer systemd
en utilisant le gestionnaire de paquets de votre distribution :
Debian/Ubuntu :
sudo apt-get install systemd
CentOS/RHEL :
sudo yum install systemd
Fedora :
sudo dnf install systemd
Utilisation de Base
Pour afficher tous les journaux système, utilisez la commande suivante :
journalctl
Options de Base
-u : Afficher les journaux pour un service spécifique.
journalctl -u sshd
-f : Suivre les journaux en temps réel (similaire à tail -f
).
journalctl -f
-n : Afficher un nombre spécifique de lignes de journal (par exemple, les 10 dernières lignes).
journalctl -n 10
-p : Filtrer les journaux par priorité (par exemple, err
pour les erreurs).
journalctl -p err
-b : Afficher les journaux depuis le dernier démarrage du système.
journalctl -b
-k : Afficher les messages du noyau.
journalctl -k
-o : Changer le format de sortie (par exemple, short
, verbose
, json
).
journalctl -o short
Exemples de Commandes Avancées
Afficher les journaux pour un service spécifique (par exemple, sshd
) :
journalctl -u sshd
Suivre les journaux en temps réel :
journalctl -f
Afficher les 10 dernières lignes de journal :
journalctl -n 10
Afficher les journaux avec une priorité d'erreur (err
) :
journalctl -p err
Afficher les journaux depuis le dernier démarrage du système :
journalctl -b
Afficher les messages du noyau :
journalctl -k
Afficher les journaux en format JSON :
journalctl -o json
Afficher les journaux pour une plage de temps spécifique (par exemple, les 24 dernières heures) :
journalctl --since "24 hours ago"
Afficher les journaux pour une plage de temps spécifique (par exemple, entre deux dates) :
journalctl --since "2023-10-01" --until "2023-10-02"
Afficher les journaux pour un utilisateur spécifique :
journalctl _UID=1000
Afficher les journaux pour un groupe spécifique :
journalctl _GID=1000
Filtrage des Journaux
Vous pouvez également filtrer les journaux en fonction de divers critères :
Filtrer par service :
journalctl _SYSTEMD_UNIT=sshd.service
Filtrer par utilisateur :
journalctl _UID=1000
Filtrer par groupe :
journalctl _GID=1000
Filtrer par priorité :
journalctl _PRIORITY=3