journalctl est la commande qui affiche tous les journaux de votre système
Linux. Quand un service plante ou qu’un comportement est anormal, c’est dans
ces logs que vous trouverez la réponse. Ce guide vous apprend les filtres
essentiels pour cibler rapidement l’information utile.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Consulter les journaux système avec
journalctl - Filtrer par service avec
-u - Suivre les logs en temps réel avec
-f - Filtrer par priorité (erreurs, avertissements)
- Chercher dans une plage de dates avec
--sinceet--until
Qu’est-ce que journald
Section intitulée « Qu’est-ce que journald »journald est le composant de systemd qui capture et stocke tous les journaux
du système :
- les messages du noyau (kernel),
- les messages des services (SSH, Nginx, cron…),
- les messages d’authentification,
- les erreurs système.
Tous ces messages sont stockés dans un format binaire. La commande
journalctl permet de les lire et de les filtrer.
Consulter les journaux
Section intitulée « Consulter les journaux »Tous les logs
Section intitulée « Tous les logs »journalctlLe résultat s’affiche dans un pager (comme less). Utilisez :
- Flèche bas / Espace pour avancer
qpour quitter/motifpour rechercher un mot
Les dernières lignes
Section intitulée « Les dernières lignes »Pour n’afficher que les 20 dernières entrées :
journalctl -n 20Les logs du démarrage actuel
Section intitulée « Les logs du démarrage actuel »journalctl -bCela n’affiche que les messages depuis le dernier boot. Pour voir le boot précédent :
journalctl -b -1Filtrer par service avec -u
Section intitulée « Filtrer par service avec -u »C’est le filtre le plus utilisé au quotidien. Pour voir uniquement les logs d’un service :
journalctl -u sshdavr. 06 08:00:01 serveur sshd[850]: Server listening on 0.0.0.0 port 22.avr. 06 09:15:23 serveur sshd[1456]: Accepted publickey for bob from 192.168.1.5avr. 06 09:15:23 serveur sshd[1456]: pam_unix(sshd:session): session opened for user bobPour combiner avec les dernières lignes du boot actuel :
journalctl -u nginx -b -n 30Cette commande affiche les 30 derniers messages de Nginx depuis le dernier démarrage.
Suivre les logs en temps réel avec -f
Section intitulée « Suivre les logs en temps réel avec -f »L’équivalent de tail -f pour les journaux systemd :
journalctl -fPour suivre un service précis :
journalctl -u nginx -fAppuyez sur Ctrl+C pour arrêter le suivi.
Filtrer par priorité avec -p
Section intitulée « Filtrer par priorité avec -p »Chaque message de journal a un niveau de priorité. De la plus critique à la moins importante :
| Niveau | Nom | Description |
|---|---|---|
| 0 | emerg | Système inutilisable |
| 1 | alert | Action immédiate nécessaire |
| 2 | crit | Erreur critique |
| 3 | err | Erreur |
| 4 | warning | Avertissement |
| 5 | notice | Événement normal mais significatif |
| 6 | info | Information |
| 7 | debug | Message de débogage |
Pour n’afficher que les erreurs et plus graves (niveaux 0 à 3) :
journalctl -p errPour les avertissements et plus graves :
journalctl -p warningFiltrer par date avec —since et —until
Section intitulée « Filtrer par date avec —since et —until »Pour chercher les logs d’une période précise :
journalctl --since "2026-04-06 08:00" --until "2026-04-06 12:00"Formats acceptés :
| Format | Exemple |
|---|---|
| Date et heure | "2026-04-06 08:00" |
| Date seule | "2026-04-06" (= minuit) |
| Relatif | "1 hour ago" |
| Relatif | "yesterday", "today" |
Exemples pratiques :
# Les erreurs depuis 1 heurejournalctl -p err --since "1 hour ago"
# Les logs SSH d'hierjournalctl -u sshd --since yesterday --until todayVoir l’espace disque utilisé par les logs
Section intitulée « Voir l’espace disque utilisé par les logs »journalctl --disk-usageArchived and active journals take up 128.0M in the file system.Pour libérer de l’espace en supprimant les vieux logs :
# Garder uniquement les 7 derniers jourssudo journalctl --vacuum-time=7d
# Ou limiter à 500 Mosudo journalctl --vacuum-size=500MRécapitulatif des commandes
Section intitulée « Récapitulatif des commandes »| Commande | Rôle |
|---|---|
journalctl | Tous les journaux |
journalctl -n 20 | Les 20 dernières lignes |
journalctl -b | Logs du boot actuel |
journalctl -u service | Logs d’un service précis |
journalctl -f | Suivi en temps réel |
journalctl -u service -f | Suivi d’un service en direct |
journalctl -p err | Erreurs et plus graves |
journalctl --since "1 hour ago" | Logs de la dernière heure |
journalctl --disk-usage | Espace disque utilisé |
sudo journalctl --vacuum-time=7d | Supprimer les logs de plus de 7 jours |
Dépannage
Section intitulée « Dépannage »| Symptôme | Cause probable | Solution |
|---|---|---|
No journal files were found | Journald n’est pas actif ou droits insuffisants | Lancer avec sudo journalctl ou vérifier que systemd-journald tourne |
| Les logs disparaissent après reboot | Stockage non persistant (par défaut sur certaines distributions) | Créer le dossier : sudo mkdir -p /var/log/journal puis redémarrer journald |
journalctl affiche des milliers de lignes | Pas de filtre appliqué | Utiliser -u, -b, -p ou -n pour cibler |
| Pas de logs pour un service | Le service n’écrit pas dans le journal | Vérifier que le service utilise bien stdout/stderr (ou syslog) |
| L’espace disque est plein de logs | Pas de politique de rotation | Configurer SystemMaxUse=500M dans /etc/systemd/journald.conf |
À retenir
Section intitulée « À retenir »journalctlest le point d’entrée unique pour consulter tous les journaux système.-u servicefiltre par service : c’est le filtre le plus utile au quotidien.-fsuit les logs en temps réel, idéal pour le dépannage en direct.-p errne montre que les erreurs et les messages critiques.--sinceet--untillimitent la recherche à une plage horaire.