JOURNALCTL(1)

NOM
journalctl — Afficher les enregistrements du journal de systemd

SYNOPSIS

journalctl [OPTIONS...] [CORRESPONDANCES...]

DESCRIPTION

journalctl permet d'afficher les enregistrements stockés dans le journal par systemd-journald.service(8) et systemd-journal-remote.service(8).

Si journalctl est appelé sans paramètres, il affichera le contenu du journal accessible à l'utilisateur appelant en commençant par le plus ancien enregistrement collecté.

Si un ou plusieurs arguments de correspondance sont passés, la sortie sera filtrée en conséquence. Une correspondance est dans le format « CHAMP=VALEUR », c'est à dire « _SYSTEMD_UNIT=httpd.service », faisant référence aux composants d'un enregistrement de journal structuré. Consulter systemd.journal-fields(7) pour une liste des champs bien connus. Si plusieurs correspondances sont indiquées et correspondent à différents champs, les enregistrements sont filtrés en fonction des deux, c'est à dire que la sortie résultante affichera seulement les enregistrements correspondant à toutes les correspondances spécifiées de ce type. Si deux correspondances s'appliquent au même champ, elles sont automatiquement mises en correspondance comme alternatives, c'est-à-dire que la sortie résultante affichera les enregistrements qui correspondent à une des correspondances indiquées pour le même champ. Enfin, le caractère « + » peut apparaître comme un terme distinct des autres termes sur la ligne de commande. Cela résulte en une combinaison de toutes les correspondances indiquées avant et après dans une disjonction (c'est-à-dire un OU logique).

Il est aussi possible de filtrer les enregistrements du journal en indiquant un chemin absolu de fichier comme argument. Le chemin de fichier peut être un fichier ou un lien symbolique et le fichier doit exister au moment de la demande. Si un chemin de fichier fait référence à un fichier binaire exécutable, une correspondance « _EXE= » pour le chemin canonique du binaire est ajoutée à la demande. Si un chemin de fichier fait référence à un script exécutable, une correspondance « _COMM= » au nom du script est ajoutée à la requête. Si un chemin de fichier fait référence à un nœud de périphérique, des correspondances « _KERNEL_DEVICE= » au nom du périphérique dans le noyau et à chacun de ses périphériques ancêtres sont ajoutées à la requête. Les liens symboliques sont déréférencés, les noms dans le noyau sont synthétisés, et les périphériques parents sont identifiés à partir l'environnement au moment de la requête. En général, un nœud de périphérique est le meilleur mandataire pour un périphérique physique, car les enregistrements ne contiennent habituellement pas de champs qui identifient un périphérique physique.Pour que les enregistrements qui en résultent soient correctes pour le périphérique physique, les éléments pertinents de l'environnement au moment où l'enregistrement a été écrit, en particulier le périphérique physique correspondant au nœud du périphérique rée, doivent être les mêmes que ceux au moment de la requête. Car les nœuds de périphérique changent généralement leurs périphériques correspondants lors des réamorçages. Indiquer un chemin de nœud de périphérique entraînera les enregistrements résultants à être restreints à ceux de l'amorçage actuel.

Des restrictions supplémentaires peuvent être ajoutées en utilisant les options --boot, unit=, etc., pour limiter davantage les enregistrements du journal qui seront affichés (ET logique).

La sortie est construite à partir de tous les fichiers journaux accessibles, qu'ils soient en cours d'écriture ou qu'ils aient subi une rotation, et indifféremment qu'ils appartiennent au système ou soient des journaux accessibles de l'utilisateur. L'option --header peut être utilisée pour identifier quels fichiers sont montrés.

L'ensemble des fichiers de journal qui seront utilisés peut être modifié en utilisant les options --user, --system, --directory= et --file= ; voir ci-dessous.

Tous les utilisateurs ont accès à leurs propres journaux privés. Néanmoins, par défaut, seul « root » et les utilisateurs membres de quelques groupes spéciaux ont la permission d'accéder au journal du système et aux journaux d'autres utilisateurs. Les membres des groupes « systemd-journal », « adm » et « wheel » peuvent lire tous les fichiers de journal. Notez que ces deux derniers groupes ont traditionnellement des privilèges supplémentaires spécifiques à la distribution utilisée. Les membres du groupe « wheel » peuvent souvent effectuer les tâches administratives.

La sortie est affichée par less (par défaut) et les longues lignes sont « tronquées » à la largeur de l'écran. La partie cachée peut être visualisée en utilisant les touches flèche-gauche et flèche-droite. L'utilisation du visionneur peut être désactivée ; voir l'option --no-pager et la section « Environnement » ci-dessous.

Lorsque la sortie est sur une console tty, les lignes sont coloriées suivant leur priorité : les lignes des niveaux « ERROR » et supérieurs sont coloriées en rouge, les lignes du niveau « WARNING » sont coloriées en jaune, les lignes du niveau « NOTICE » sont en surbrillance, les lignes du niveau « INFO » sont affichées normalement et les lignes du niveau « DEBUG » sont coloriées en gris.

Pour écrire des enregistrements dans le journal, plusieurs méthodes peuvent être utilisées. En général, la sortie des unités systemd est automatiquement connectée au journal ; voir systemd-journal.service(8). De plus, systemd-cat peut être utilisé pour envoyer directement des messages au journal.

OPTIONS DE DÉFINITION DE LA SOURCE

Les options suivantes contrôlent l'origine des enregistrements du journal à lire :

--system, --user
    Afficher les messages des services du système et du noyau (avec --system). Afficher les messages des services de l'utilisateur actuel (avec --user). Si aucun des deux n'est indiqué, afficher tous les messages que l'utilisateur peut lire.

    L'option --user affecte le traitement des arguments --unit=. Voir --unit=.

    Notez que --user ne fonctionne que si la journalisation persistante est activée avec le réglage Storage= dans journal.conf(5).

    Ajouté dans la version 205.

-M, --machine=
    Afficher les messages d'un conteneur local en fonctionnement. Indiquer un nom de conteneur auquel se connecter.

    Ajouté dans la version 206.

-m, --merge
    Afficher les enregistrements construits à partir de tous les journaux accessibles, y compris ceux distants.

    Ajouté dans la version 190.

-D RÉP, --directory=RÉP
    Prend un chemin de répertoire comme argument. Si indiqué, journalctl opérera sur le répertoire de journaux indiqué par RÉP au lieu de l'environnement d'exécution par défaut et des chemins du journal du système.

    Ajouté dans la version 187.

-i GLOB, --file=GLOB
    Prend un motif de fichier comme argument. Si indiqué, journalctl opèrera sur les fichiers de journal indiqués correspondants à GLOB au lieu de l'environnement d'exécution par défaut et des chemins de journal du système. Cela peut être indiqué plusieurs fois, auquel cas les fichiers seront entrelacés de manière appropriée.

    Ajouté dans la version 205.

--root=ROOT
    Prend un chemin de répertoire comme argument. Si indiqué, journalctl opèrera sur les répertoires de journal et la hiérarchie des catalogues de fichiers sous le répertoire indiqué au lieu du répertoire racine (par exemple, --update-catalog créera ROOT/var/lib/systemd/catalog/database et les fichiers de journal sous ROOT/run/journal/ ou ROOT/var/log/journal/ seront affichés).

    Ajouté dans la version 201.

--image=IMAGE
    Prend un chemin vers un fichier d'image disque ou un nœud de périphérique bloc comme argument. Si indiqué, journalctl opérera sur le système de fichiers de l'image disque indiquée. Cette option est similaire à --root=, mais agit sur les systèmes de fichiers stockés dans des images disque ou des périphériques bloc, fournissant ainsi une méthode simple d'extraire les données des journaux des images disque. L'image disque doit contenir un seul système de fichiers, ou un ensemble de systèmes de fichiers dans une table de partitionnement GPT, en suivant la Spécification des partitions détectables[1]. Pour plus d'informations sur les images disque prises en charge, voir systemd-nspawn(1) et son commutateur du même nom.

    Ajouté dans la version 247.

--image-policy=politique
    Cette option prend pour argument une image de chaine de politique, comme pour systemd.image-policy(7). La politique est imposée lors d'une opération sur l'image disque indiquée par --image=, voir ci-dessus. C'est par défaut la politique « * » si rien n'est indiqué, c'est-à-dire tous les systèmes de fichiers reconnus de l'image sont utilisés.

--namespace=ESPACE_NOM
    Prend une chaîne d'identifiant d'espace de noms de journaux comme argument. Si cet argument n'est pas indiqué, les données collectées par l'espace de noms par défaut sont affichées. Si indiqué, les données de journaux de l'espace de noms indiqué sont affichées. Si l'espace de noms indiqué est « * », les données de tous les espaces de noms sont affichées, entrelacées. Si l'identifiant d'espace de noms est préfixé avec « + », les données de l'espace de noms indiqué et de l'espace de noms par défaut sont affichées, entrelacées, mais pas celles des autres. Pour plus de détails sur les espaces de noms de journaux, consulter systemd-journals-service(8).

    Ajouté dans la version 245.

OPTIONS DE FILTRAGE

Les options suivantes contrôlent comment filtrer les enregistrements du journal :

-S, --since=, -U, --until=
    Commencer à montrer les enregistrements soit plus récentes que la date spécifiée, soit antérieures à la date spécifiée, respectivement. Les indications de date doivent être du format « 2012-10-30 18:17:16 ». Si la partie temps est omise, « 00:00:00 » est implicite. Si seul le composant secondes est omis, « :00 » est implicite. Si le composant date est omis, la date du jour courant est implicite. Comme alternative les chaînes « yesterday », « today », « tomorrow » sont comprises, comme se référant à 00:00:00 le jour avant le jour actuel, le jour actuel, ou le jour après le jour actuel, respectivement. « now » se réfère au moment présent. Et des temps relatifs peuvent être indiqués préfixés avec « - » ou « + », en fonction des moments voulus avant ou après le moment présent, respectivement. Pour des informations complètes sur les spécifications de dates et de temps voir systemd.time(7). Notez que --output=short-full affiche les horodateurs qui suivent précisément ce format.

    Ajouté dans la version 195.

-c, --cursor=
    Commencer à montrer les enregistrements depuis l'endroit dans le journal indiqué par la valeur du curseur passée en paramètre.

    Rajouté dans la version 193.

--after-cursor=
    Commencer à montrer les enregistrements à partir de l'endroit dans le journal indiqué par la valeur du curseur passée en paramètre. Le curseur est affiché en utilisant l'option --show-cursor.

    Ajouté dans la version 206.

--cursor-file=FICHIER
    Si FICHIER existe et contient un curseur, commencer à afficher les enregistrements après cet endroit. Sinon, les enregistrements sont affichés en fonction des autres options données. À la fin, écrire le curseur de la dernière entrée dans FICHIER. Utiliser cette option pour lire le journal continuellement à travers des appels séquentiels à journalctl.

    Ajouté dans la version 242.

-b [[ID][±décalage]|all], --boot[=[ID][±décalage]|all]
    Afficher les messages depuis un démarrage spécifique. Cela ajoutera une correspondance pour « _BOOT_ID= ».

    L'argument peut être vide, auquel cas les journaux du démarrage actuel seront montrés.

    Si l'identifiant du démarrage est omis, un décalage positif permet de rechercher les démarrages à partir du début du journal, et un décalage égal ou inférieur à zéro cherchera les démarrages depuis la fin du journal. Ainsi, 1 signifie le premier démarrage trouvé dans le journal par ordre chronologique, 2 sera le second, etc ; alors que -0 est le dernier démarrage, -1 le démarrage avant le dernier, etc. Un décalage vide est équivalent à indiquer -0, sauf lorsque le démarrage actuel n'est pas le dernier démarrage (car par exemple --directory= a été indiqué pour regarder les journaux d'une autre machine).

    Si l'ID de 32 caractères est indiqué, il peut éventuellement être suivi du décalage qui identifie le démarrage relatif à celui donné par l'ID du démarrage. Les valeurs négatives signifient les démarrages plus anciens, et les valeurs positives les démarrages plus récents. Si décalage n'est pas indiqué, une valeur de zéro est implicite, et les journaux du démarrage donné par l'ID sont montrés.

    L'argument spécial all peut être utilisé pour inhiber l'effet d'un usage précédent de -b.

    Ajouté dans la version 186.

-u, --unit=UNITÉ|MOTIF
    Afficher les messages de l'unité systemd UNITÉ indiquée (telle une unité service), ou toute autre unité correspondant au MOTIF. Si un motif est indiqué, une liste de noms d'unité trouvés dans le journal est comparée avec le motif indiqué et toutes les correspondances sont utilisées. Pour chaque nom d'unité, une correspondance est ajoutée dans les messages de l'unité (« _SYSTEMD_UNIT=UNITÉ »), avec des correspondances supplémentaires des messages de systemd et des messages à propos des coredumps de l'unité indiquée. Une correspondance est aussi ajoutée pour « _SYSTEMD_SLICE=UNITÉ », de façon que si l'UNITÉ fournie est une unité systemd.slice(5), tous les journaux des enfants de la « slice » (tranche) seront affichés.

    Avec --user, tous les arguments --unit= seront convertis pour correspondre aux messages utilisateur comme s'ils étaient spécifiés avec --user-unit=.

    Ce paramètre peut être indiqué plusieurs fois.

    Ajouté dans la version 195.

--user-unit=
    Afficher les messages pour l'unité de la session utilisateur indiquée. Cela ajoutera une correspondance pour les messages de l'unité (« _SYSTEMD_USER_UNIT= » et « UID= ») et des correspondances supplémentaires des messages de la session de systemd et des messages à propos des coredumps de l'unité indiquée. Une correspondance est aussi ajoutée à « _SYSTEMD_SLICE=UNITÉ », ainsi si l'UNITÉ fournie est une unité systemd.slice(5), tous les journaux des enfants de l'unité seront montrés.

    Ce paramètre peut être indiqué plusieurs fois.

    Ajouté dans la version 198.

-I, --invocation=ID[±décalage]|décalage
    Afficher les messages d'une invocation spécifique d'unité. Cela ajoutera une correspondance à « SYSTEMD_INVOCATION_ID= », « OBJECT_SYSTEMD_INVOCATION_ID= », « INVOCATION_ID= » et « USER_INVOCATION_ID= ».

    Un décalage positif cherchera les invocations d’une unité systemd à partir du début du journal, et un décalage égal ou inférieur à zéro cherchera les invocations à partir de la fin du journal. Ainsi, 1 signifie la première invocation trouvée dans le journal par ordre chronologique, 2 sera la seconde, etc. ; alors que -0 est la dernière invocation, -1 l'avant dernière, etc.

    Si l'ID de 32 caractères est indiqué, il peut éventuellement être suivi du ±décalage qui identifie l'invocation relative à celle donnée par l'ID d'invocation. Les valeurs négatives signifient les invocations récentes et les valeurs positives les invocations plus anciennes. Si ±décalage n'est pas indiqué, une valeur de zéro est présumée, et les journaux de l'invocation donnée par l'ID sont affichés.

    -I est équivalent à --invocation=0, et les journaux de la dernière invocation seront affichés.

    Lorsqu’un décalage est spécifié, un nom d'unité doit aussi l’être avec l'option -u/--unit= ou --user-unit=.

    Lorsque spécifié avec -b/--boot=, les invocations sont recherchées dans l'amorçage indiqué.

    Ajouté dans la version 257.

-t, --identifier=SYSLOG_IDENTIFIER
    Afficher les messages pour l'identifiant syslog SYSLOG_IDENTIFIER.

    Ce paramètre peut être indiqué plusieurs fois.

    Ajouté dans la version 217.

-T, --exclude-identifier=SYSLOG_IDENTIFIER
    Exclure les messages pour l'identifiant syslog SYSLOG_IDENTIFIER.

    Ce paramètre peut être indiqué plusieurs fois.

    Ajouté dans la version 256.

-p, --priority=
    Filtrer la sortie par priorité des messages ou par plage de priorités. Prend soit un seul chiffre ou un niveau de journalisation textuel (c'est-à-dire entre 0/« emerg » et 7/« debug »), ou une plage de niveaux de journalisation numériques ou textuels de la forme FROM..TO. les niveaux de journalisation sont les niveaux habituels de syslog comme documenté dans syslog(3), c'est-à-dire « emerg » (0), « alert » (1), « crit » (2), « err » (3), « warning » (4), « notice » (5), « info » (6), « debug » (7). Si un seul niveau de journalisation est indiqué, tous les messages de ce niveau de journalisation ou d'un niveau plus bas (de ce fait plus importants) sont affichés. Si une plage est indiquée, tous les messages à l'intérieur de cette plage sont affichés, incluant aussi la valeur de début et celle de fin de la plage. Cela ajoutera les correspondances « PRIORITY= » pour les priorités indiquées.

    Ajouté dans la version 188.

--facility=
    Filtrer la sortie en fonction de l'installation syslog. Prend une liste de numéros ou de noms de « facility » séparés par une virgule. Les noms sont les noms usuels de « facilities » de syslog, consulter syslog(3). --facility=help permet d'afficher une liste de noms de « facility » connus et quitter.

    Ajouté dans la version 245.

-g, --grep=
    Filtrer la sortie aux enregistrements où le champ MESSAGE= correspond à l'expression rationnelle indiquée. Les expressions rationnelles compatibles avec PERL sont utilisées, voir pcre2pattern(3) pour une description détaillée de la syntaxe.

    Si le motif est entièrement composé de caractères en minuscules, la correspondance se fera de manière insensible à la casse. Autrement, la comparaison est sensible à la casse. Cela peut être écrasé avec l'option --case-sensitive, voir ci-dessous.

    Lorsque utilisé avec --lines= (sans préfixe « + »), --reverse est implicite.

    Ajouté dans la version 237.

--case-sensitive[=BOOLEAN]
    Rendre le motif de comparaison sensible ou insensible à la casse.

    Ajouté dans la version 237.

-k, --dmesg
    N'afficher que les messages du noyau. Cela implique -b et ajoute la correspondance « _TRANSPORT=kernel ».

    Ajouté dans la version 205.

OPTIONS DE SORTIE

Les options suivantes contrôlent comment sont affichés les enregistrements du journal :

-o, --output=
    Contrôle le formatage des enregistrements du journal qui sont affichés. Prend une des options suivantes :

    short
        est l'option par défaut qui génère une sortie presque identique au formatage des fichiers syslog classiques, affichant une ligne par enregistrement du journal.

        Ajouté dans la version 206.

    short-full
        est très similaire, mais affiche les horodateurs dans un format accepté par les options --since= et --until=. Contrairement à l'information d'horodatage montrée dans le mode de sortie de short, ce mode inclut le jour de la semaine, l'année et le fuseau horaire dans la sortie, et est indépendant des paramètres régionaux.

        Ajouté dans la version 232.

    short-iso
        est très similaire, mais montre les horodatages sous forme de profil ISO 8601 RFC 3339[2].

        Ajouté dans la version 206.

    short-iso-precise
        comme pour short-iso mais inclut une précision à la microseconde près.

        Ajouté dans la version 234.

    short-precise
        est très similaire, mais montre les horodatages syslog classiques avec une précision à la microseconde près.

        Ajouté dans la version 207.

    short-monotonic
        est très similaire, mais montre les horodatages monotoniques au lieu des horodatages locaux.

        Ajouté dans la version 206.

    short-delta
        comme pour short-monotonic mais incluant l'écart de temps avec l'entrée précédente. Les écarts de temps non fiables sont marqués comme « * ».

        Ajouté dans la version 252.

    short-unix
        est très similaire, mais montre les secondes passées depuis le premier janvier 1970 UTC au lieu des temporisateurs horloge (« temps UNIX »). Le temps est montré avec une exactitude à la microseconde près.

        Ajouté dans la version 198.

    verbose
        affiche les éléments d'enregistrement entièrement structurés avec tous les champs.

        Ajouté dans la version 206.

    export
        sérialise le journal en un flux binaire (mais principalement basé sur du texte) adapté aux sauvegardes et aux transferts réseau (voir Format Export du journal[3] pour plus d'informations). Pour réimporter le flux binaire dans un format natif de journald, utiliser systemd-journal-remote(8).

        Ajouté dans la version 206.

    json
        formate les enregistrements en objets JSON, séparés par un caractère nouvelle ligne (voir Format JSON du journal[4] pour plus d'informations). Les valeurs de champ sont généralement encodées comme chaîne JSON, avec trois exceptions :

            1. Les champs plus grands que 4096 octets sont encodés comme valeurs null. Cela peut être désactivé en passant --all, mais attention, car cela peut allouer des objets JSON excessivement longs.

            2. Les enregistrements du journal permettent des champs non uniques dans le même enregistrement. JSON n'autorise pas les champs non uniques dans ses objets. Pour cette raison, si un champ non unique est rencontré, un tableau JSON est utilisé comme valeur du champ, listant toutes les valeurs de champ comme éléments.

            3. Les champs qui contiennent des octets non imprimables ou non UTF-8 sont encodés en tableaux contenant les octets bruts formatés comme nombres non-signés.

        Notez que cet encodage est réversible (avec l'exception de la limitation de taille).

        Ajouté dans la version 206.

    json-pretty
        formate les enregistrements JSON comme des structures de données, mais les formate sur plusieurs lignes pour les rendre plus lisibles par un humain.

        Ajouté dans la version 206.

    json-sse
        formate les enregistrements en structures de données JSON, mais les enveloppe dans un format utilisable pour Server-Sent Events[5].

        Ajouté dans la version 206.

    json-seq
        formate les enregistrements en structures de données JSON, mais les préfixe avec le caractère séparateur d'enregistrement ASCII (Ox1E) et les suffixe d'un caractère de saut de ligne ASCII (0x0A), en accord avec JavaScript Object Notation (JSON) Text Sequences[6] (« application/json-seq »).

        Ajouté dans la version 240.

    cat
        génère une sortie très succincte, n'affichant que le message réel de chaque enregistrement du journal, sans aucune métadonnée, pas même un horodatage. Si combiné avec l'option --output-fields=, la sortie listera les champs pour chaque enregistrement de journal, au lieu du message.

        Ajouté dans la version 206.

    with-unit
        similaire à short-full, mais préfixe les noms d'unité et d'utilisateur de l'unité au lieu de l'identifiant syslog habituel. Utile lors de l'utilisation d'instances modélisées, car il inclura les arguments dans les noms d'unités&.

        Ajouté dans la version 239.

--truncate-newline
    Tronquer chaque message du journal au premier caractère de nouvelle ligne sur la sortie, de façon que seule la première ligne de chaque message soit affichée.

    Ajouté dans la version 254.

--output-fields=
    Une liste séparée par des virgules de champs qui devraient être inclus dans la sortie. Cela a un impact seulement sur les modes de sortie qui montrent normalement tous les champs (verbose, export, json, json-pretty, json-sse et json-seq), comme avec cat. Pour le premier, les champs « __CURSOR », « __REALTIME_TIMESTAMP », « __MONOTONIC_TIMESTAMP » et « _BOOT_ID » sont toujours affichés.

    Ajouté dans la version 236.

-n, --lines=
    Afficher les évènements les plus récents du journal et limiter le nombre d'évènements affichés. L'argument est un entier positif ou « all » pour désactiver la limitation. De plus, si le nombre est préfixé avec « + », les plus vieux évènements du journal sont utilisés à la place. La valeur par défaut est 10 si aucun argument n'est donné.

    Si --follow est utilisée, cette option est implicite. Lorsque non préfixée avec « + » et utilisée avec --grep=, --reverse est implicite.

-r, --reverse
    Inverser la sortie de manière à ce que les enregistrements les plus récents soient affichés en premier.

    Ajouté dans la version 198.

--show-cursor
    Le curseur est affiché après la dernière entrée après deux tirets :

        -- cursor: s=0639...

    Le format du curseur est personnel et sujet à modification.

    Ajouté dans la version 206.

--utc
    Afficher le temps en Temps Universel Coordonné (UTC).

    Ajouté dans la version 217.

-x, --catalog
    Augmenter la taille des lignes des journaux avec des textes explicatifs du catalogue des messages. Cela ajoutera des textes explicatifs d'aide des messages de journaux dans la sortie quand cela est possible. Ces courts textes d'aide expliquent le contexte d'une erreur ou d'un évènement de journal, les solutions possibles, ainsi que des pointeurs vers des forums de support, la documentation de développeur et toute autre chose relevant du manuel. Notez que les textes d'aide ne sont pas disponibles pour tous les messages, mais seulement ceux sélectionnés. Pour plus d'informations sur le catalogue de messages, veuillez lire les Catalogues de messages de journal[7].

    Note : Lorsque vous attachez une sortie de journalctl à un rapport de bogue, veuillez ne pas utiliser -x.

    Ajouté dans la version 196.

--no-hostname
    Ne pas montrer le champ du nom d'hôte des messages journaux originaires de l'hôte local. Cette directive n'a un effet que sur les modes de sortie de la famille short, voir ci-dessus.

    Note : cette option n'enlève pas les occurrences de nom d'hôte des enregistrements des journaux, donc cela n'empêche pas le nom d'hôte d'être visible dans les journaux.

    Ajouté dans la version 198.

--no-full, --full, -l
    Ellipser les champs lorsqu'ils ne tiennent pas dans les colonnes disponibles. Par défaut, tous les champs sont montrés, pouvant être repliés ou tronqués par un visionneur, si on en utilise un.

    Les anciennes options -l/--full ne sont plus utiles, sauf pour annuler --no-full.

    Ajouté dans la version 196.

-a, --all
    Afficher tous les champs en entier, même s'ils contiennent des caractères non imprimables ou sont très longs. Par défaut les champs contenant des caractères non imprimables sont abrégés en « données blob » (notez que le visionneur pourrait encore échapper les caractères non imprimables.)

-f, --follow
    Ne montrer que les enregistrements du journal les plus récents, en affichant de manière continue les nouveaux enregistrements au fur et à mesure de leur apparition dans le journal.

--no-tail
    Afficher toutes les lignes de sortie stockées, même en mode « follow ». Annule l'effet de --lines=.

-q, --quiet
    Supprimer tous les messages informatifs (c'est-à-dire « --Journal begins at... », « -- Reboot -- »), tous les messages d'avertissement à propos de journaux système inaccessibles lors d'une exécution en tant qu'utilisateur normal.

OPTIONS DE CONTRÔLE DU VISIONNEUR

Les options suivantes contrôlent la prise en charge de l'affichage :

--no-pager
    Ne pas rediriger (pipe) la sortie vers un afficheur (pager).

-e, --pager-end
    Sauter immédiatement à la fin du journal dans l'outil du visionneur impliqué. Cela implique -n1000 pour s'assurer que le visionneur ne mettra pas en mémoire tampon des journaux de taille illimitée. Cela peut être outrepassé avec un -n explicite avec une autre valeur numérique, alors que -nall désactivera cette directive. Notez que cette option n'est prise en charge que par le visionneur less(1).

    Ajouté dans la version 198.

OPTIONS FSS (FORWARD SECURE SEALING)

Les options suivantes peuvent être utilisées avec la commande --setup-keys décrite ci-dessous :

--interval=
    Indiquer l'intervalle de changement pour la clé de sécurisation lors de la génération d'une paire de clé FSS avec --setup-keys. Des intervalles plus courts augmentent la consommation de l'unité centrale mais raccourcissent la période pendant laquelle les modifications du journal sont indétectables. Par défaut, 15 mn.

    Ajouté dans la version 189.

--verify-key=
    Indiquer la clé de vérification FSS à utiliser pour l'opération --verify.

    Ajouté dans la version 189.

--force
    Lorsque --setup-keys est passée et que FSS a déjà été configuré, recréer des clés FSS.

    Ajouté dans la version 206.

COMMANDES

Les commandes suivantes sont prises en compte. Si aucune n'est indiquée, les enregistrements du journal seront affichés par défaut :

-N, --fields
    Afficher tous les noms des champs actuellement utilisés dans tous les enregistrements du journal.

    Ajouté dans la version 229.

-F, --field=
    Afficher toutes les valeurs de données possibles que le champ spécifié peut prendre dans tous les enregistrements du journal.

    Ajouté dans la version 195.

--list-boots
    Afficher une liste tabulaire des numéros de démarrage (boot numbers) relative au démarrage actuel, leurs ID, et les horodatages du premier et du dernier message se rapportant au démarrage. Lorsque spécifié avec l'option -n/--lines=[+]N, seules les premières (lorsque le nombre est préfixé avec « + ») ou les N dernières (sans préfixe) entrées seront montrées. Lorsque indiquée avec -r/--reverse, la liste sera affichée en ordre inverse.

    Ajouté dans la version 206.

--list-invocations
    Lister les identifiants d'invocation d'une unité. Nécessite un nom d'unité avec -u/--unit= ou --user-unit=. Afficher une liste tabulaire des numéros d'invocation (relatifs à l'invocation actuelle ou dernière) de leurs identifiants, et des horodatages du premier et du dernier message se rapportant à l'invocation. Lorsque -b/-boot est indiqué, les invocations lors de l'amorçage sont affichées. Lorsque spécifié avec l'option -n/--lines=[+]N, seules les premières (lorsque le nombre est préfixé avec « + ») ou les N dernières (sans préfixe) entrées seront affichées. Lorsque indiquée avec -r/--reverse, la liste sera affichée en ordre inverse.

    Ajouté dans la version 257.

--disk-usage
    Afficher l'utilisation actuelle du disque par tous les fichiers de journal. Cela affiche la somme de l'utilisation du disque pour tous les fichiers actifs ou archivés de journal.

    Ajouté dans la version 190.

--vacuum-size=, --vacuum-time=, --vacuum-files=
    --vacuum-size= supprime les fichiers journaux archivés les plus anciens jusqu'à ce que l'espace disque qu'ils utilisent tombe en dessous de la taille spécifiée. Cette valeur accepte les suffixes habituels « K », « M », « G » et « T » (pour une base de 1024).

    --vacuum-time= supprime les fichiers journaux archivés plus vieux que l'intervalle de temps indiqué. Accepte les suffixes habituels « s » (par défaut), « m », « h », « days », « months », « weeks » et « years », consulter systemd.time(7) pour les détails.

    --vacuum-files= ne laisse que le nombre spécifié de fichiers journaux distincts.

    Notez qu'exécuter --vacuum-size= a seulement un effet indirect sur la sortie affichée par --disk-usage, ce dernier incluant les fichiers journaux actifs, alors que l'opération de nettoyage n'opère que sur les fichiers journaux archivés. De façon similaire,, --vacuum-files= peut ne pas réduire réellement le nombre de fichiers journaux en dessous du nombre spécifié, car il ne supprimera pas les fichiers journaux actifs.

    --vacuum-size=, --vacuum-time= et --vacuum-files= peuvent être combinés en une seule invocation pour assurer toute combinaison de taille, de temps et de nombre limite pour les fichiers de journal archivés. Le fait de spécifier l'un de ces trois paramètres comme étant égal à zéro équivaut à ne pas appliquer la limite spécifique et est donc redondant.

    Ces trois directives peuvent aussi être combinées avec --rotate dans une commande. Ainsi, tous les fichiers actifs sont mis en rotation en premier, et l'opération de nettoyage est exécutée juste après. La rotation a pour effet que tous les fichiers actuellement actifs sont archivés (et potentiellement des nouveaux fichiers non vides sont ouverts en remplacement), et c'est pourquoi l'opération de nettoyage a le plus grand effet, car elle permet de prendre en compte toutes les données écrites jusqu'à présent.

    Ajouté dans la version 218.

--verify
    Vérifier la cohérence interne du fichier journal. Si le fichier a été produit avec FSS activé et que la clé FSS de vérification a été spécifiée avec --verify-key=, l'authenticité du fichier journal est vérifiée.

    Ajouté dans la version 189.

--sync
    Demander au démon de journalisation d'écrire toutes les données du journal non encore écrites sur le système de fichiers de sauvegarde et de synchroniser tous les journaux. Cet appel ne rend la main qu'une fois l'opération de synchronisation terminée. Cette commande assure que tout message de journaux écrit avant cette invocation soit stocké en toute sécurité sur le disque lorsqu'elle rend la main.

    Ajouté dans la version 228.

--relinquish-var
    Demander au démon de journalisation l'opération inverse de --flush : sur demande, le démon écrira d'autres données de journalisation dans /run/log/journal/ et arrêtera d'écrire dans /var/log/journal/. Un appel ultérieur à --flush fait rebasculer la sortie du journal dans /var/log/journal/, voir ci-dessus.

    Ajouté dans la version 243.

--smart-relinquish-var
    Similaire à --relinquish-var, mais n'exécute aucune opération si le fichier racine du système et /var/log/journal/ sont sur le même point de montage. Cette opération s'exécute lors de l'arrêt pour que le démon de journalisation arrête d'écrire des données dans /var/log/journal/ au cas où ce répertoire serait situé sur un point de montage qui nécessiterait d'être démonté.

    Ajouté dans la version 243.

--flush
    Demander au démon de journalisation de déplacer toutes les données du journal stockées dans /run/log/journal/ dans /var/log/journal/, si le stockage persistant est activé. Cet appel ne rend la main qu'une fois l'opération terminée. Notez que cet appel est idempotent : les données sont déplacées de /run/log/journal/ dans /var/log/journal une fois seulement lors de l'exécution du système (voir --relinquish-var ci-dessous), et cette commande finit proprement sans exécuter aucune opération si cela a déjà été fait. Cette opération assure qu'effectivement toutes les données sont déplacées dans /var/log/journal/ au moment où elle rend la main.

    Ajouté dans la version 217.

--rotate
    Demander au démon de journalisation de faire tourner les fichiers journaux. Cet appel ne rend la main qu'une fois l'opération de rotation terminée. La rotation de fichiers journal a pour effet que tous les fichiers de journal actifs sont marqués comme archivés et renommés, ainsi ils ne seront plus écrits dans le futur. Des nouveaux fichiers (vides) du journal sont ainsi créés à leur place. Cette opération peut être combinée avec --vacuum-size=, --vacuum-time= et --vacuum-file= dans une seule commande, voir ci-dessus.

    Ajouté dans la version 227.

--header
    Au lieu de montrer le contenu du journal, afficher l'information interne des en-têtes des champs du journal accédé.

    Cette option est particulièrement utile pour essayer d'identifier des enregistrements du journal en désordre, comme cela arrive si la machine est amorcée avec un mauvais temps système.

    Ajouté dans la version 187.

--list-catalog [ID_128_bits...]
    Lister le contenu du catalogue des messages sous forme de tableau d'identifiants de messages, avec leurs chaînes de description courte.

    Si des identifiants ID_128_bits sont indiqués, seuls ces enregistrements sont affichés.

    Ajouté dans la version 196.

--dump-catalog [ID_128_bits-...]
    Afficher le contenu du catalogue de messages, les enregistrements étant séparés par une ligne constituée de deux tirets et de l'ID (le format est le même que celui des fichiers .catalog).

    Si des identifiants ID_128_bits sont indiqués, seuls ces enregistrements sont affichés.

    Ajouté dans la version 199.

--update-catalog
    Mettre à jour l'index du catalogue de messages. Cette commande doit être exécutée chaque fois que des nouveaux fichiers du catalogue sont installés, supprimés ou mis à jour pour reconstruire l'index binaire du catalogue.

    Ajouté dans la version 196.

--setup-keys
    Au lieu de montrer le contenu du journal, générer une nouvelle paire de clés FSS. Cela générera une clé de sécurisation ainsi qu'une clé de vérification. La clé de sécurisation est stockée dans le répertoire de données du journal et doit rester sur l'hôte. La clé de vérification doit être stockée à l'extérieur. Voir l'option Seal= dans journald.conf(5) pour des informations sur FSS et pour un lien vers un article scientifique détaillant la théorie cryptographique sur laquelle il est basé.

    Ajouté dans la version 189.

-h, --help
    Afficher un aide-mémoire succinct et quitter.

--version
    Afficher une information de version courte et quitter.

CODE DE RETOUR

En cas de réussite, 0 est renvoyé, un code d'échec différent de zéro sinon.

ENVIRONNEMENT

$SYSTEMD_LOG_LEVEL
    Le niveau maximal de journalisation de messages émis (messages avec un niveau de journalisation supérieur, c'est-à-dire les moins importants seront supprimés). Cette variable prend une liste de valeurs séparées par des virgules. Une valeur peut être (par ordre d'importance décroissante) emerg, alert, crit, err, warning, notice, info, debug ou un entier dans l’intervalle 0...7. Consultez syslog(3) pour davantage d'informations. Chaque valeur peut être optionnellement préfixée avec console, syslog, kmsg ou journal suivi d'un deux-points (:) pour définir le niveau de journalisation maximal pour la cible spécifique de journal (par exemple SYSTEMD_LOG_LEVEL=debug,console:info indique de journaliser au niveau debug excepté pour la journalisation vers la console qui doit s'effectuer au niveau info). Notez que le niveau maximal de journalisation globale est prioritaire sur tout niveau maximal de journalisation par cible.

$SYSTEMD_LOG_COLOR
    Un booléen. Si la valeur est vrai, les messages écrits sur le terminal seront colorés selon la priorité.

    Ce réglage est utile uniquement quand les messages sont écrits directement dans un terminal ou un fichier parce que journalctl(1) et d'autres outils qui affichent des journaux coloreront par eux-mêmes les messages selon le niveau de journalisation.

$SYSTEMD_LOG_TIME
    Un booléen. Si la valeur est vrai, les messages du journal de la console seront préfixés d'un horodatage.

    Ce réglage est utile uniquement quand les messages sont écrits directement dans un terminal ou un fichier parce que journalctl(1) et d'autres outils qui affichent des journaux attacheront par eux-mêmes un horodatage selon les métadonnées de l'entrée.

$SYSTEMD_LOG_LOCATION
    Un booléen. Si la valeur est vrai, les messages seront préfixés par un nom de fichier et du numéro de ligne du code source d'où vient le message.

    Notez que l'emplacement du journal est souvent attaché comme métadonnée aux entrées du journal de toute façon. L'inclure directement dans le texte du message peut néanmoins être opportun lors du débogage de programmes.

$SYSTEMD_LOG_TID
    Un booléen. Si la valeur est vrai, les messages seront préfixés par l'identifiant numérique du thread actuel (TID).

    Notez que cette information est attachée comme métadonnée aux entrées du journal de toute façon. L'inclure directement dans le texte du message peut néanmoins être opportun lors du débogage de programmes.

$SYSTEMD_LOG_TARGET
    Destination pour journaliser les messages. Une des destinations parmi console (journaliser dans le terminal attaché), console-prefixed (journaliser dans le terminal attaché, mais avec des préfixes qui codent le niveau et le « service » de journalisation, consultez syslog(3)), kmsg (journaliser dans le tampon de journalisation circulaire du noyau), journal (journaliser dans le journal), journal-or-kmsg (journaliser dans le journal s'il est disponible et sinon dans kmsg), auto (déterminer automatiquement la cible appropriée de journalisation, c'est la destination par défaut), null (désactive la sortie de journalisation).

$SYSTEMD_LOG_RATELIMIT_KMSG
    Que ce soit pour le taux de requête kmsg ou pas. Prend un booléen. Par défaut « true ». Si désactivé, systemd ne limitera pas le taux des messages écrits à kmsg.

$SYSTEMD_PAGER
    Afficheur à utiliser lorsque --no-pager n'est pas précisé ; outrepasse $PAGER. Si ni $SYSTEMD_PAGER, ni $PAGER n'ont de valeur, un ensemble d’afficheurs bien connus sont essayés à tour de rôle, incluant less(1) et more(1), jusqu'à ce qu'il y en ait un qui soit trouvé. Si aucun afficheur n'est trouvé, aucun afficheur n'est appelé. Définir cette variable d'environnement à une chaîne vide ou à « cat » est équivalent à l'utilisation de --no-pager.

    Remarque : si $SYSTEMD_PAGERSECURE n'est pas défini, $SYSTEMD_PAGER (tout comme $PAGER) sera ignoré silencieusement.

$SYSTEMD_LESS
    Outrepasser les options passées à less (par défaut « FRSXMK »).

    Les utilisateurs voudront peut-être changer deux options en particulier :

    K
        Cette option ordonne à l’afficheur de quitter immédiatement lorsque Ctrl+C est entré. Pour permettre à less de gérer Ctrl+C lui-même le retour à l'invite de commande de l’afficheur, ne pas fournir cette option.

        Si la valeur de $SYSTEMD_LESS n'inclut pas « K » et si l’afficheur appelé est less, Ctrl+C sera ignoré par l'exécutable et doit être géré par l’afficheur.

    X
        Cette option ordonne à l’afficheur de ne pas envoyer les chaînes d'initialisation et de désinitialisation de termcap au terminal. C'est le choix par défaut afin de permettre aux sorties des commandes de rester visibles dans le terminal même après que l’afficheur soit fermé. Toutefois, cela empêche quelques fonctionnalités de l’afficheur de fonctionner, en particulier, il n'est pas possible de faire défiler les sorties affichées avec la souris.

    Notez que le réglage de la variable d'environnement $LESS normale n'a aucun effet sur les invocations de less par les outils de systemd.

    Voir less(1) pour plus de détails.

$SYSTEMD_LESSCHARSET
    Outrepasser le jeu de caractères passé à less (par défaut « utf-8 », si le terminal invoqué est compatible avec l'UTF-8).

    Notez que le réglage de la variable d'environnement $LESSCHARSET normale n'a aucun effet sur les invocations de less par les outils de systemd.

$SYSTEMD_PAGERSECURE
    Prend un argument booléen. Quand c'est « vrai », le mode « secure » de l'afficheur est activé et quand c'est « faux », il est désactivé. Si $SYSTEMD_PAGERSECURE n'est pas du tout défini, le mode « secure » est activé si l'UID effectif n'est pas le même que celle du propriétaire de la session connectée, consulter geteuid(2) et sd_pid_get_owner_uid(3). En mode « secure », LESSSECURE=1 sera défini lors de l'invocation de l'afficheur, et l'afficheur désactivera les commandes qui ouvrent ou créent de nouveaux fichiers ou lancent de nouveaux sous-processus. Quand $SYSTEMD_PAGERSECURE n'est pas du tout défini, les afficheurs qui ne sont pas reconnus comme implémentant le mode « secure » ne seront pas utilisés. (Actuellement seul less(1) implémente le mode « secure ».)

    Note : quand des commandes sont invoquées avec des privilèges élevés, par exemple avec sudo(8) ou pkexec(1), des précautions doivent être prises pour s'assurer que des fonctions interactives indésirables ne sont pas activées. Le mode « Secure » de l'afficheur interactif peut être activé automatiquement comme décrit plus haut. Définir SYSTEMD_PAGERSECURE=0 ou ne pas le supprimer de l'environnement hérité autorise l'utilisateur à invoquer des commandes arbitraires. Notez que si les variables $SYSTEMD_PAGER ou $PAGER doivent être respectées, $SYSTEMD_PAGERSECURE doit aussi être défini. Il pourrait être raisonnable de désactiver complètement l'afficheur interactif en utilisant plutôt --no-pager.

$SYSTEMD_COLORS
    Prend un argument booléen. Quand c'est « vrai », systemd et les utilitaires liés utiliseront la couleur pour leurs sorties, autrement, la sortie sera monochrome. En plus, la variable peut prendre une des valeurs spéciales suivantes : 16 ou 256 pour limiter l'usage des couleurs aux couleurs ANSI base 16 ou base 256 respectivement. Cela peut être précisé pour outrepasser la décision automatique prise sur $TERM et quel que soit ce à quoi la console est connectée.

$SYSTEMD_URLIFY
    La valeur doit être un booléen. Contrôle si les liens cliquables doivent être générés dans la sortie pour des émulateurs de terminaux le prenant en charge. Cela peut être indiqué pour passer outre la décision faite par systemd basée sur $TERM et d'autres conditions.

EXEMPLES

Sans arguments, tous les journaux collectés sont montrés sans filtre :

    journalctl

Avec une correspondance indiquée, tous les enregistrements avec un champ correspondant à l'expression sont affichés :

    journalctl _SYSTEMD_UNIT=avahi-daemon.service
    journalctl _SYSTEMD_CGROUP=/user.slice/user-42.slice/session-c1.scope

Si deux champs différents correspondent, seulement les enregistrements correspondant aux deux expressions au même moment sont affichés :

    journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097

Si deux correspondances se rapportent au même champ, tous les enregistrements correspondant à l'une ou l'autre expression sont affichés :

    journalctl _SYSTEMD_UNIT=avahi-daemon.service _SYSTEMD_UNIT=dbus.service

Si le séparateur « + » est utilisé, deux expressions peuvent être combinées dans un OU logique. La séquence suivante affichera tous les messages du processus du service Avahi ayant le PID 28097 plus tous les messages du service D-Bus (de tous ses processus) :

    journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097 + _SYSTEMD_UNIT=dbus.service

L'option -u/--unit= doit être utilisée pour afficher tous les champs émis par une unité et à propos d'une unité. journalctl -u nom se transforme en un filtre complexe similaire à

    _SYSTEMD_UNIT=nom.service
      + UNIT=nom.service _PID=1
      + OBJECT_SYSTEMD_UNIT=nom.service _UID=0
      + COREDUMP_UNIT=nom.service _UID=0 MESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1

(voir systemd.journal-fields(7) pour une explication sur ces motifs.

Afficher tous les journaux générés par l'exécutable de D-Bus :

    journalctl /usr/bin/dbus-daemon

Afficher tous les journaux du noyau depuis le démarrage précédent :

    journalctl -k -b -1

Montrer un affichage en direct de journaux du service de système apache.service :

    journalctl -f -u apache

VOIR AUSSI

systemd(1), systemd-cat(1), systemd-journald.service(8), systemctl(1), coredumpctl(1), systemd.journal-fields(7), journald.conf(5), systemd.time(7), systemd-journal-remote.service(8), systemd-journal-upload.service(8)

NOTES

1.  Spécification des partitions détectables
    https://uapi-group.org/specifications/specs/discoverable_partitions_specification

2.  RFC 3339
    https://tools.ietf.org/html/rfc3339

3.  Format d'export de journal
    https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-export-format

4.  Format JSON du journal
    https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-json-format

5.  Server-Sent Events
    https://developer.mozilla.org/en-US/docs/Server-sent_events/Using_server-sent_events

6.  JavaScript Object Notation (JSON) Text Sequences
    https://tools.ietf.org/html/rfc7464

7.  Catalogues de messages de journal
    https://systemd.io/CATALOG

TRADUCTION
La traduction française de cette page de manuel a été créée par bubu <bubub@no-log.org>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.