Découvrir journalctl, l'outil principal pour consulter les logs gérés par **systemd-journald**. Vous apprendrez à filtrer, chercher et analyser les événements de votre système.
Depuis systemd, les logs ne sont plus écrits uniquement dans des fichiers texte classiques (comme /var/log/syslog). Ils sont collectés par **journald** dans un format binaire structuré. journalctl est l'outil pour les interroger.
**Avantages :**
journalctltail -f)journalctl -n 50journalctl -fjournalctl -bjournalctl -u nginx.servicejournalctl -u sshd.servicejournalctl -u NetworkManager.servicejournalctl -u nginx.service -n 20journalctl -u nginx.service --since "1 hour ago"journalctl --since "2026-04-10 09:00:00"journalctl --since todayjournalctl --since yesterday --until "00:00:00"journalctl --since "2 hours ago"journalctl --since "2026-04-09" --until "2026-04-10 10:00:00"Les niveaux de priorité (du + grave au + détail) :
| Niveau | Nom | Signification |
|---|---|---|
| 0 | emerg | Système inutilisable |
| 1 | alert | Action immédiate requise |
| 2 | crit | Condition critique |
| 3 | err | Erreur |
| 4 | warning | Avertissement |
| 5 | notice | Événement normal notable |
| 6 | info | Information |
| 7 | debug | Messages de débogage |
journalctl -p errjournalctl -p warning..errjournalctl _PID=1234journalctl _UID=1000journalctl -kjournalctl /usr/sbin/nginxjournalctl --local# Ou configurer dans /etc/systemd/journald.conf :# Localize=yesjournalctl --disk-usage# Supprimer les logs de plus de 7 joursjournalctl --vacuum-time=7d# Garder seulement les 500 Mo de logsjournalctl --vacuum-size=500Mjournalctl --list-boots # Lister les boots disponiblesjournalctl -b -1 # Boot précédent# Voir le statut du servicesystemctl status nginx# Logs du service nginxjournalctl -u nginx.service -n 100 --no-pager# Erreurs récentesjournalctl -u nginx.service -p err --since "1 hour ago"# Connexions SSH récentesjournalctl -u sshd.service --since "24 hours ago"# Connexions échouéesjournalctl -u sshd.service | grep "Failed"# Logs du noyau liés aux disquesjournalctl -k | grep -i "error\|disque\|sda"# Erreurs SCSI/SATAjournalctl -k | grep -i "sd\|ata"journalctl -k | grep -i "reboot\|shutdown\|power"Le fichier de configuration principal :
sudo nano /etc/systemd/journald.confOptions courantes :
```ini
[Journal]
# Taille max des fichiers de logs
SystemMaxUse=500M
# Durée de conservation
MaxRetentionSec=30day
# Compression des logs
Compress=yes
# Synchronisation
SyncIntervalSec=5m
Après modification :sudo systemctl restart systemd-journald
## 10. Créer un alias pratiqueAjoutez à votre ~/.bashrc :# Alias pour journalctl
alias jctl='journalctl -n 50 --no-pager'
alias jerr='journalctl -p err -n 50 --no-pager'
alias jfollow='journalctl -f --no-pager'
Appliquez :source ~/.bashrc
## Résumé des commandes principales| Commande | Description ||---------------------------------|-------------------------------------|| journalctl | Tous les logs || journalctl -u service | Logs d'un service || journalctl -b | Logs du boot actuel || journalctl -f | Suivre en temps réel || journalctl -n 50 | 50 dernières lignes || journalctl --since today | Logs d'aujourd'hui || journalctl -p err | Erreurs uniquement || journalctl -k | Logs du noyau || journalctl --disk-usage | Espace utilisé par les logs || journalctl --vacuum-time=7d | Supprimer logs de plus de 7 jours |---## Exercices pratiques1. Affichez les 30 dernières lignes de logs de votre système :journalctl -n 30
2. Trouvez les erreurs des 24 dernières heures :journalctl -p err --since "24 hours ago"
3. Consultez les logs de votre interface réseau :journalctl -u NetworkManager.service -n 20
4. Créez un alias jerr dans votre .bashrc pour voir rapidement les erreurs, puis testez-le.5. Vérifiez l'espace disque utilisé par les logs et supprimez les logs de plus de 3 jours :journalctl --disk-usage
journalctl --vacuum-time=3d
---## Pour aller plus loin- man journalctl — documentation complète- man journald.conf — configuration du démon- logger — écrire dans les logs depuis un script :logger -p local0.info "Mon message personnalisé"
```
**Navigation**
[← Leçon précédente : AWK — Manipuler et transformer du texte](48-awk-manipuler-texte.html)
[Sommaire](index.html)
* Cours SkyLinux - Leçon 49 par Sire Aselophe