Dans ce guide, j'expliquerai comment afficher les journaux système sous Linux à l'aide de différents utilitaires de ligne de commande.
Note: Les commandes mentionnées dans ce guide sont exécutées sur Ubuntu. Ils fonctionneront sans erreur sur toutes les distributions Linux fournies avec le système d'initialisation systemd.
Méthodes pour afficher les journaux systemctl
Il existe deux approches pour afficher les journaux système sous Linux :
Le systemctl donne les journaux spécifiques au service les plus récents, tandis que journalctl donne des journaux détaillés à l'échelle du système de tous les services et du service spécifique.
J'explorerai les deux utilitaires pour afficher les journaux système. Mais d’abord, comprenons la principale différence entre les commandes systemctl et journalctl.
Qu'est-ce que systemctl
Systemctl est un utilitaire de ligne de commande qui gère les services systemd, tels que l'activation ou la désactivation du service et l'affichage de l'état. Le statut systemctl La commande imprime également quelques lignes de journal du service au bas de la sortie, et ce journal se trouve après le démarrage récent. Cependant, ces lignes de journal du service datent uniquement d'après le démarrage en cours.
Qu'est-ce que journalctl
Le journalctl est un utilitaire de ligne de commande utilisé pour imprimer les journaux collectés par systemd. Comparé à systemctl, il fournit une sortie détaillée avec des options de filtrage. Cet utilitaire est conçu pour :
- Lire les journaux (le journal le plus ancien vient en premier)
- Surveiller les journaux
- Filtrer les journaux en fonction de l'heure, du service ou de l'utilisateur
Le systemd collecte les journaux du noyau, des services et des démons et les stocke dans un emplacement centralisé.
Comment afficher le journal d'un service à l'aide de systemctl
La syntaxe générale pour retrouver le log d'un service en utilisant le systèmectl l'utilitaire est mentionné ci-dessous.
statut systemctl [ Nom du service ]Par exemple, pour afficher les informations du journal du smbd.service utilisez la commande ci-dessous.
statut systemctl smbd.service
Pour obtenir une sortie sans pagination, ajoutez le –pas de téléavertisseur option dans la commande.
statut systemctl smbd.service --pas de téléavertisseur
Comment afficher le journal d'un service à l'aide de journalctl
Pour afficher le journal d'un service spécifique de systemd, utilisez journalctl avec le -dans nom de la commande et du service ou de l’unité.
journalctl -dans [ Nom du service ]Dans la commande ci-dessus, le -dans drapeau, abréviation de -unité est utilisé pour filtrer le journalctl sortie par un nom d’unité.
Par exemple, pour imprimer le journal du smbd démon, je remplacerai le [nom de l'unité] avec smbd.service .
journalctl -dans smbd.service
Dans la sortie, on peut voir que l'entrée la plus ancienne apparaît en premier, puis est enregistrée après chaque démarrage.
Pour obtenir la dernière entrée, utilisez d'abord -C'est court pour –fin du téléavertisseur.
journalctl -dans smbd.service -C'est
Si vous souhaitez omettre la pagination de la sortie, ajoutez simplement le –pas de téléavertisseur dans les commandes mentionnées ci-dessus.
Pour imprimer en continu les entrées du journal en temps réel -F court pour -suivre .
journalctl -dans smbd.service -FLe filtrage peut être étendu en utilisant l'indicateur -b, raccourci pour -botte , qui imprime les journaux en fonction du démarrage en cours.
journalctl -dans [ nom de l'unité ] -bImprimons les journaux du smbd.service du démarrage récent.
journalctl -dans smbd.service -b
Le résultat ci-dessus ressemble au résultat que nous obtenons en utilisant le statut systemctl commande.
Pour obtenir un aperçu détaillé du journal, utilisez le -X court pour -catalogue option.
journalctl -dans smbd.service -XCela ajoutera une brève description du journal.
Désormais, pour imprimer les journaux en fonction du temps à l'aide de journalctl, il existe deux options : -S court pour -depuis et -DANS court pour -jusqu'à .
journalctl -dans [ nom de l'unité ] -S '[année-mois-jour] [heures:minutes:secondes]'Par exemple, pour afficher les journaux de l'unité smbd depuis 2024:01:30 12:05:00 .
journalctl -dans smbd.service -S '2024:01:30 12:05:00'
Conclusion
Pour afficher les journaux systemd d'un service, il existe deux utilitaires principaux, journalctl et systemctl. Le journalctl est spécialement conçu pour afficher les journaux de systemd. Cependant, le systemctl a également la possibilité d'imprimer le journal du service. Pour imprimer le journal d'une utilisation d'un service, journalctl -u [nom de l'unité] et systèmectl [nom de l'unité].