Manuais para a linha de comandos

Man » Manual online do journalctl - documentação online detalhada para a página de manual do journalctl

🌍
journalctl - Imprime as entradas de log do journal do systemd

SINTAXE

journalctl [OPÇÕES...] [CORRESPONDÊNCIAS...]

DESCRIÇÃO

journalctl é usado para imprimir as entradas de log armazenadas no journal pelo systemd-journald.service(8)
e systemd-journal-remote.service(8).

Se chamado sem parâmetros, ele mostrará o conteúdo do journal acessível ao usuário que o chama, começando com a entrada mais antiga coletada.

Se um ou mais argumentos de correspondência forem passados, a saída será filtrada de acordo. Uma correspondência está no formato "CAMPO=VALOR", por exemplo, "_SYSTEMD_UNIT=httpd.service", referenciando os componentes de uma entrada de journal estruturada. Consulte systemd.journal-fields(7) para obter uma lista de campos conhecidos. Se várias correspondências forem especificadas correspondendo a campos diferentes, as entradas de log serão filtradas por ambos, ou seja, a saída resultante mostrará apenas as entradas que correspondem a todas as correspondências especificadas desse tipo. Se duas correspondências se aplicarem ao mesmo campo, elas serão automaticamente correspondidas como alternativas, ou seja, a saída resultante mostrará entradas que correspondem a qualquer uma das correspondências especificadas para o mesmo campo. Finalmente, o caractere "+" pode aparecer como uma palavra separada entre outros termos na linha de comando. Isso faz com que todas as correspondências antes e depois sejam combinadas em uma disjunção (ou seja, lógico OR).

Também é possível filtrar as entradas especificando um caminho absoluto do arquivo como um argumento. O caminho do arquivo pode ser um arquivo ou um link simbólico, e o arquivo deve existir no momento da consulta. Se um caminho de arquivo se referir a um binário executável, uma correspondência "_EXE=" para o caminho canônico do binário é adicionado à consulta. Se um caminho de arquivo se referir a um script executável, uma correspondência "_COMM=" para o nome do script é adicionada à consulta. Se um caminho de arquivo se referir a um nó de dispositivo, as correspondências "_KERNEL_DEVICE=" para o nome do kernel do dispositivo e para cada um de seus dispositivos ancestrais são adicionadas à consulta. Links simbólicos são desreferenciados, nomes de kernel são sintetizados e dispositivos pai são identificados do ambiente no momento da consulta. Em geral, um nó de dispositivo é o melhor proxy para um dispositivo real, pois as entradas de log geralmente não contêm campos que identifiquem um dispositivo real. Para que as entradas de log resultantes estejam corretas para o dispositivo real, as partes relevantes do ambiente no momento em que a entrada foi registrada, em particular o dispositivo real correspondente ao nó do dispositivo, devem ter sido os mesmos que no momento da consulta. Como os nós de dispositivo geralmente alteram seus dispositivos correspondentes entre as reinicializações, especificar um caminho de nó de dispositivo faz com que as entradas resultantes sejam restritas àquelas da inicialização atual.

Restrições adicionais podem ser adicionadas usando as opções --boot, --unit=, etc., para limitar ainda mais quais entradas serão exibidas (AND lógico).

A saída é intercalada de todos os arquivos de registro acessíveis, sejam eles rotacionados ou estejam sendo gravados atualmente, e independentemente de pertencerem ao próprio sistema ou serem registros de usuário acessíveis. A opção --header pode ser usada para identificar quais arquivos estão sendo exibidos.

O conjunto de arquivos de registro que serão usados pode ser modificado usando as opções --user, --system, --directory= e --file=, veja abaixo.

Todos os usuários têm acesso aos seus registros privados por usuário. No entanto, por padrão, apenas o usuário root e os usuários que são membros de alguns grupos especiais têm acesso ao registro do sistema e aos registros de outros usuários. Os membros dos grupos "systemd-journal", "adm" e "wheel" podem ler todos os arquivos de registro. Observe que os dois últimos grupos geralmente têm privilégios adicionais especificados pela distribuição. Os membros do grupo "wheel" geralmente podem executar tarefas administrativas.

A saída é paginada por meio do less por padrão, e as linhas longas são "truncadas" para a largura da tela. A parte oculta pode ser visualizada usando as teclas de seta esquerda e seta direita. A paginação pode ser desabilitada; veja a opção --no-pager e a seção "Ambiente" abaixo.

Ao exibir em um tty, as linhas são coloridas de acordo com a prioridade: as linhas do nível ERROR e superior são coloridas em vermelho; as linhas do nível WARNING são coloridas em amarelo; as linhas do nível NOTICE são destacadas; as linhas do nível INFO são exibidas normalmente; as linhas do nível DEBUG são coloridas em cinza.

Para gravar entradas no registro, vários métodos podem ser usados. Em geral, a saída das unidades systemd é conectada automaticamente ao registro, veja systemd-journald.service(8). Além disso, systemdcat(1) pode ser usado para enviar mensagens diretamente para o registro.

OPÇÕES DE ORIGEM

As seguintes opções controlam de onde ler os registros:

--system, --user

Mostra mensagens dos serviços do sistema e do kernel (com --system). Mostra mensagens do serviço do usuário atual (com --user). Se nenhum dos dois for especificado, mostra todas as mensagens que o usuário pode ver.

A opção --user afeta como os argumentos --unit= são tratados. Veja --unit=.

Observe que --user só funciona se o registro persistente estiver habilitado, por meio da configuração Storage= em journald.conf(5).

Adicionado na versão 205.

-M, --machine=

Mostra mensagens de um contêiner local em execução. Especifique o nome de um contêiner para se conectar.

Adicionado na versão 209.

-m, --merge

Mostra entradas intercaladas de todos os registros disponíveis, incluindo os remotos.

Adicionado na versão 190.

-D DIR, --directory=DIR

Recebe um caminho de diretório como argumento. Se especificado, journalctl operará no diretório de registro especificado DIR em vez dos caminhos de registro do sistema e de tempo de execução padrão.

Adicionado na versão 187.

-i GLOB, --file=GLOB

Recebe um glob de arquivo como argumento. Se especificado, journalctl operará nos arquivos de registro especificados que correspondem a GLOB em vez dos caminhos de registro do sistema e de tempo de execução padrão. Pode ser especificado várias vezes, caso em que os arquivos serão adequadamente intercalados.


Adicionado na versão 205.

--root=RAIZ

Recebe como argumento um caminho de diretório. Se especificado, o journalctl operará nos diretórios de log e na hierarquia de arquivos de catálogo abaixo do diretório especificado, em vez do diretório raiz (por exemplo, --update-catalog criará RAÍZ/var/lib/systemd/catalog/database, e os arquivos de log em RAÍZ/run/journal/ ou RAÍZ/var/log/journal/ serão exibidos).

Adicionado na versão 201.

--image=IMAGEM

Recebe como argumento um caminho para um arquivo de imagem de disco ou um nó de dispositivo de bloco. Se especificado, o journalctl operará no sistema de arquivos na imagem de disco indicada. Esta opção é semelhante a --root=, mas opera em sistemas de arquivos armazenados em imagens de disco ou dispositivos de bloco, fornecendo assim uma maneira fácil de extrair dados de log de imagens de disco. A imagem de disco deve conter apenas um sistema de arquivos ou um conjunto de sistemas de arquivos dentro de uma tabela de partição GPT, seguindo a especificação UAPI.2 Discoverable Partitions[1]. Para mais informações sobre imagens de disco suportadas, consulte a opção com o mesmo nome do systemdnspawn(1).

Adicionado na versão 247.

--image-policy=política

Recebe como argumento uma string de política de imagem, conforme systemd.image-policy(7). A política é aplicada quando se opera no disco imagem especificado via --image=, veja acima. Se não for especificada, o padrão é a política "*", ou seja, todos os sistemas de arquivos reconhecidos na imagem são usados.

--namespace=NAMESPACE

Recebe como argumento um identificador de string de namespace do journal. Se não for especificado, os dados coletados pelo namespace padrão serão exibidos. Se especificado, exibe os dados de log do namespace especificado. Se o namespace for especificado como "*", os dados de todos os namespaces serão exibidos, intercalados. Se o identificador de namespace for prefixado com "+", os dados do namespace especificado e do namespace padrão serão exibidos, intercalados, mas nenhum outro. Para obter detalhes sobre os namespaces do journal, consulte systemd-journald.service(8).

Adicionado na versão 245.

OPÇÕES DE FILTRAGEM

As seguintes opções controlam como filtrar os registros do journal:

-S, --since=, -U, --until=

Começa a exibir entradas em ou posteriores à data especificada, ou em ou anteriores à data especificada, respectivamente. As especificações de data devem estar no formato "2012-10-30 18:17:16". Se a parte do tempo for omitida, "00:00:00" será assumida. Se apenas o componente de segundos for omitido, ":00" será assumido. Se o componente de data for omitido, o dia atual será assumido. Alternativamente, as strings "yesterday", "today" e "tomorrow" são entendidas, que se referem a 00:00:00 do dia anterior ao dia atual, o dia atual ou o dia seguinte, respectivamente. "now" se refere à hora atual. Finalmente, tempos relativos podem ser especificados, prefixados com "-" ou "+", referindo-se a tempos antes ou depois da hora atual, respectivamente. Para a especificação completa de tempo e data, consulte systemd.time(7). Observe que --output=short-full imprime carimbos de data/hora que seguem precisamente este formato.

Adicionado na versão 195.

-c, --cursor=

Começa a exibir as entradas a partir da localização no registro especificada pelo cursor passado.

Adicionado na versão 193.

--after-cursor=

Começa a exibir as entradas a partir da localização no registro após a localização especificada pelo cursor passado. O cursor é exibido quando a opção --show-cursor é usada.

Adicionado na versão 206.

--cursor-file=ARQUIVO

Se o ARQUIVO existir e contiver um cursor, começa a exibir as entradas após essa localização. Caso contrário, exibe as entradas de acordo com as outras opções fornecidas. No final, grava o cursor da última entrada no ARQUIVO. Use esta opção para ler continuamente o registro chamando journalctl sequencialmente.

Adicionado na versão 242.

-b [[ID][±deslocamento]|all], --boot[=[ID][±deslocamento]|all]

Mostra as mensagens de uma inicialização específica. Isso adicionará uma correspondência para "_BOOT_ID=".

O argumento pode estar vazio, caso em que os logs da inicialização atual serão mostrados.

Se o ID da inicialização for omitido, um deslocamento positivo procurará as inicializações começando pelo início do registro, e um deslocamento menor ou igual a zero procurará as inicializações começando pelo final do registro. Assim, 1 significa a primeira inicialização encontrada no registro em ordem cronológica, 2 a segunda e assim por diante; enquanto -0 é a última inicialização, -1 a inicialização anterior à última e assim por diante. Um deslocamento vazio é equivalente a especificar -0, exceto quando a inicialização atual não é a última inicialização (por exemplo, porque --directory= foi especificado para analisar os logs de uma máquina diferente).

Se o ID de 32 caracteres for especificado, ele pode ser seguido opcionalmente por um deslocamento que identifique a inicialização em relação àquela fornecida pelo ID da inicialização. Valores negativos significam inicializações anteriores e valores positivos significam inicializações posteriores. Se o deslocamento não for especificado, um valor de zero é assumido e os logs da inicialização fornecida pelo ID são exibidos.

O argumento especial all pode ser usado para negar o efeito de um uso anterior de -b.

Adicionado na versão 186.

-u, --unit=UNIDADE|PADRÃO

Mostra as mensagens para a unidade systemd especificada UNIDADE (como uma unidade de serviço) ou para qualquer uma das unidades correspondentes ao PADRÃO. Se um padrão for especificado, uma lista de nomes de unidades encontradas no registro é comparada com o padrão especificado e todas as que corresponderem são usadas. Para cada nome de unidade, uma correspondência é adicionada para mensagens da unidade ("_SYSTEMD_UNIT=UNIDADE"), juntamente com correspondências adicionais para mensagens do systemd e mensagens sobre despejos de memória para a unidade especificada. Uma correspondência também é adicionada para "_SYSTEMD_SLICE=UNIDADE", de modo que, se a UNIDADE fornecida for uma unidade systemd.slice(5), todos os logs dos filhos da fatia serão exibidos.

Com --user, todos os argumentos --unit= serão convertidos para corresponder às mensagens do usuário, como se fossem especificados com --user-unit=.

Este parâmetro pode ser especificado várias vezes.

Adicionado na versão 195.

--user-unit=

Mostra as mensagens para a unidade de sessão do usuário especificada. Isso adicionará uma correspondência para mensagens da unidade ("_SYSTEMD_USER_UNIT=" e "_UID=") e correspondências adicionais para mensagens do systemd de sessão e mensagens sobre despejos de memória para a unidade especificada. Uma correspondência também é adicionada para "_SYSTEMD_USER_SLICE=UNIDADE", de modo que, se a UNIDADE fornecida for uma unidade systemd.slice(5), todos os logs dos filhos da unidade serão exibidos.


Este parâmetro pode ser especificado várias vezes.

Adicionado na versão 198.

-I, --invocation=ID[±offset]|offset
Mostra mensagens de uma invocação específica da unidade. Isso adicionará uma correspondência para
"_SYSTEMD_INVOCATION_ID=", "OBJECT_SYSTEMD_INVOCATION_ID=", "INVOCATION_ID=",
"USER_INVOCATION_ID=".

Um offset positivo procurará as invocações de uma unidade systemd desde o início do
journal, e zero ou um offset negativo procurarão as invocações começando pelo final do
journal. Assim, 1 significa a primeira invocação encontrada no journal em ordem cronológica, 2
a segunda e assim por diante; enquanto 0 é a invocação mais recente, -1 a invocação anterior à mais recente,
e assim por diante.

Se o ID de 32 caracteres for especificado, ele pode ser seguido opcionalmente por ±offset, que
identifica a invocação em relação àquela fornecida pelo ID de invocação. Valores negativos significam
invocações anteriores e valores positivos significam invocações posteriores. Se ±offset não for especificado,
um valor de zero é assumido, e os logs para a invocação fornecida por ID serão exibidos.

-I é equivalente a --invocation=0, e os logs para a invocação mais recente serão exibidos.

Quando um offset é especificado, um nome de unidade deve ser especificado com a opção -u/--unit= ou --user-unit=.

Quando especificado com -b/--boot=, as invocações são pesquisadas dentro da inicialização especificada.

Adicionado na versão 257.

-t, --identifier=SYSLOG_IDENTIFIER
Mostra mensagens para o identificador syslog especificado SYSLOG_IDENTIFIER.

Este parâmetro pode ser especificado várias vezes.

Adicionado na versão 217.

-T, --exclude-identifier=SYSLOG_IDENTIFIER
Exclui mensagens para o identificador syslog especificado SYSLOG_IDENTIFIER.

Este parâmetro pode ser especificado várias vezes.

Adicionado na versão 256.

-p, --priority=
Filtra a saída por prioridades de mensagem ou intervalos de prioridade. Aceita um único valor numérico ou
um valor de log textual (por exemplo, entre 0/"emerg" e 7/"debug"), ou um intervalo de valores de log numéricos/textuais no formato FROM..TO. Os níveis de log são os níveis de log syslog usuais, conforme documentado em
syslog(3), ou seja, "emerg" (0), "alert" (1), "crit" (2), "err" (3), "warning" (4),
"notice" (5), "info" (6), "debug" (7). Se um único nível de log for especificado, todas as mensagens com
este nível de log ou um nível de log inferior (e, portanto, mais importante) serão exibidas. Se um intervalo for
especificado, todas as mensagens dentro do intervalo serão exibidas, incluindo os valores inicial e final
do intervalo. Isso adicionará correspondências "PRIORITY=" para as prioridades especificadas.

Adicionado na versão 188.

--facility=
Filtra a saída por facilidade syslog. Aceita uma lista separada por vírgulas de números ou nomes de facilidade.
Os nomes são as facilidades syslog usuais, conforme documentado em syslog(3). --facility=help pode ser
usado para exibir uma lista de nomes de facilidade conhecidos e sair.

Adicionado na versão 245.

-g, --grep=
Filtra a saída para exibir apenas as entradas em que o campo MESSAGE= corresponda à expressão regular especificada.
São usadas expressões regulares compatíveis com PERL, consulte pcre2pattern(3) para obter uma descrição detalhada
da sintaxe.

Se o padrão for todo em letras minúsculas, a correspondência não diferencia maiúsculas de minúsculas. Caso contrário, a correspondência
diferencia maiúsculas de minúsculas. Isso pode ser substituído com a opção --case-sensitive, veja abaixo.

Quando usado com --lines= (não precedido por "+"), --reverse é implícito.

Adicionado na versão 237.

--case-sensitive[=BOOLEAN]
Torna a correspondência de padrões sensível ou insensível a maiúsculas e minúsculas.

Adicionado na versão 237.

-k, --dmesg
Exibe apenas as mensagens do kernel. Isso adiciona a correspondência "\_TRANSPORT=kernel". Isso implica --boot=0
a menos que especificado explicitamente de outra forma.

Adicionado na versão 205.

OPÇÕES DE SAÍDA

As seguintes opções controlam como os registros do journal são impressos:

-o, --output=
Controla a formatação das entradas do journal que são exibidas. Aceita uma das seguintes
opções:

short
é o padrão e gera uma saída que é quase idêntica à formatação dos arquivos syslog clássicos, mostrando uma linha por entrada do journal.

Adicionado na versão 206.

short-full
é muito semelhante, mas mostra os carimbos de data/hora no formato aceito pelas opções --since= e --until=. Ao contrário das informações de carimbo de data/hora mostradas no modo de saída "short", este modo inclui
o dia da semana, o ano e as informações de fuso horário na saída e é independente da localidade.

Adicionado na versão 232.

short-iso
é muito semelhante, mas mostra os carimbos de data/hora no perfil RFC 3339[2] do ISO 8601.

Adicionado na versão 206.

short-iso-precise
como para short-iso, mas inclui a precisão total dos microssegundos.

Adicionado na versão 234.

short-precise
é muito semelhante, mas mostra os carimbos de data/hora do syslog clássico com precisão total dos microssegundos.

Adicionado na versão 207.

short-monotonic
é muito semelhante, mas mostra os carimbos de data/hora monotônicos em vez dos carimbos de data/hora do relógio de parede.

Adicionado na versão 206.

short-delta
como para short-monotonic, mas inclui a diferença de tempo para a entrada anterior. As diferenças de tempo potencialmente não confiáveis são marcadas com um "*".

Adicionado na versão 252.

short-unix
é muito semelhante, mas mostra os segundos decorridos desde 1º de janeiro de 1970 UTC em vez dos carimbos de data/hora do relógio de parede ("tempo UNIX"). O tempo é mostrado com precisão de microssegundos.

Adicionado na versão 230.

verbose
mostra os itens de entrada estruturados completos com todos os campos.

Adicionado na versão 206.

export
serializa o journal em um fluxo binário (mas principalmente baseado em texto) adequado para backups
e transferência de rede (consulte o Formato de Exportação do Journal[3] para obter mais informações). Para importar o
fluxo binário de volta para o formato journald nativo, use systemd-journal-remote(8).

Adicionado na versão 206.

json
formata as entradas como objetos JSON, separados por caracteres de nova linha (consulte o Formato JSON do Journal[4] para obter mais informações). Os valores dos campos são geralmente codificados como strings JSON, com
três exceções:

    Campos maiores que 4096 bytes são codificados como valores nulos. (Isso pode ser desativado passando --all, mas esteja ciente de que isso pode alocar objetos JSON excessivamente longos.)

    As entradas do diário permitem campos não exclusivos dentro da mesma entrada de registro. JSON não
    permite campos não exclusivos dentro de objetos. Devido a isso, se um campo não exclusivo for
    encontrado, um array JSON é usado como valor do campo, listando todos os valores do campo como
    elementos.

    Campos que contêm bytes não imprimíveis ou não UTF-8 são codificados como arrays contendo
    os bytes brutos individualmente formatados como números não assinados.

Observe que essa codificação é reversível (com a exceção do limite de tamanho).

Adicionado na versão 206.

    json-pretty
    formata as entradas como estruturas de dados JSON, mas as formata em várias linhas para
    torná-las mais legíveis para humanos.

Adicionado na versão 206.

    json-sse
    formata as entradas como estruturas de dados JSON, mas as envolve em um formato adequado para
    Server-Sent Events[5].

Adicionado na versão 206.

    json-seq
    formata as entradas como estruturas de dados JSON, mas as prefixa com um caractere ASCII Record Separator
    (0x1E) e as sufixa com um caractere ASCII Line Feed (0x0A), em
    conformidade com JavaScript Object Notation (JSON) Text Sequences[6]
    ("application/json-seq").

Adicionado na versão 240.

    cat
    gera uma saída muito concisa, mostrando apenas a mensagem real de cada entrada do diário sem
    nenhum metadado, nem mesmo um timestamp. Se combinado com a opção --output-fields=, irá
    exibir os campos listados para cada registro, em vez da mensagem.

Adicionado na versão 206.

    with-unit
    semelhante a short-full, mas prefixa os nomes da unidade e usuário em vez do
    identificador syslog tradicional. Útil ao usar instâncias com modelo, pois incluirá
    os argumentos nos nomes das unidades.

Adicionado na versão 239.

    --truncate-newline
    Trunca cada mensagem de registro no primeiro caractere de nova linha na saída, para que apenas a primeira
    linha de cada mensagem seja exibida.

Adicionado na versão 254.

    --output-fields=
    Uma lista separada por vírgulas dos campos que devem ser incluídos na saída. Isso tem um
    efeito apenas para os modos de saída que normalmente mostrariam todos os campos (verbose, export, json,
    json-pretty, json-sse e json-seq), bem como em cat. Para o primeiro, os campos "__CURSOR",
    "__REALTIME_TIMESTAMP", "__MONOTONIC_TIMESTAMP" e "_BOOT_ID" são sempre impressos.

Adicionado na versão 236.

    -n, --lines=
    Mostra os eventos de diário mais recentes e limita o número de eventos exibidos. O argumento é um
    inteiro positivo ou "all" para desativar o limite. Além disso, se o número for prefixado com
    "+", os eventos de diário mais antigos serão usados ​​em vez disso. O valor padrão é 10, se nenhum argumento for
    fornecido.

Se --follow for usado, esta opção é implícita. Quando não prefixado com "+" e usado com --grep=, --reverse é implícito.

    -r, --reverse
    Inverte a saída para que as entradas mais recentes sejam exibidas primeiro.

Adicionado na versão 198.

    --show-cursor
    O cursor é exibido após a última entrada após dois traços:

    -- cursor: s=0639...

O formato do cursor é privado e está sujeito a alterações.

Adicionado na versão 209.

    --utc
    Expressa a hora em Tempo Universal Coordenado (UTC).

Adicionado na versão 217.

-x, --catalog
Aumenta as linhas do log com textos explicativos do catálogo de mensagens. Isso adicionará textos de ajuda explicativos à saída das mensagens de log onde isso estiver disponível. Esses textos de ajuda curtos explicarão o contexto de um erro ou evento de log, possíveis soluções, bem como links para fóruns de suporte, documentação do desenvolvedor e quaisquer outros manuais relevantes. Observe que os textos de ajuda não estão disponíveis para todas as mensagens, mas apenas para as selecionadas. Para obter mais informações sobre o catálogo de mensagens, consulte Catálogos de Mensagens do Journal[7].

Observação: ao anexar a saída do journalctl aos relatórios de bugs, não use -x.

Adicionado na versão 196.

-W, --no-hostname
Não exibe o campo de nome do host das mensagens de log. Esta opção tem efeito apenas na família de modos de saída curtos (veja acima).

Observação: esta opção não remove as ocorrências do nome do host nas entradas de log, portanto, não impede que o nome do host seja visível nos logs.

Adicionado na versão 230.

--no-full, --full, -l
Truncar campos quando eles não couberem nas colunas disponíveis. O padrão é exibir os campos completos, permitindo que eles sejam ajustados ou truncados pelo visualizador de páginas, se um for usado.

As opções antigas -l/--full não são mais úteis, exceto para desfazer --no-full.

Adicionado na versão 196.

-a, --all
Exibe todos os campos completamente, mesmo que incluam caracteres não imprimíveis ou sejam muito longos. Por padrão, os campos com caracteres não imprimíveis são abreviados como "dados blob". (Observe que o visualizador de páginas pode escapar os caracteres não imprimíveis novamente.)

-f, --follow
Exibe apenas as entradas de log mais recentes e imprime continuamente novas entradas conforme elas são adicionadas ao journal, até que Ctrl-C seja pressionado (ou a ferramenta seja encerrada de outra forma).

O journalctl enviará uma mensagem sd_notify(3) "READY=1" após inicializar e estabelecer com sucesso sua observação no journal.

--no-tail
Exibe todas as linhas de saída armazenadas, mesmo no modo de acompanhamento. Desfaz o efeito de --lines=.

-q, --quiet
Suprime todas as mensagens informativas (isto é, "-- Journal começa em ...", "-- Reinicialização --"), quaisquer mensagens de aviso sobre journals de sistema inacessíveis quando executado como um usuário normal.

--synchronize-on-exit=
Aceita um argumento booleano. Se verdadeiro e operando no modo --follow, uma solicitação de sincronização do journal (equivalente a journalctl --sync) será emitida quando SIGTERM/SIGINT for recebido, e a saída do log continuará até que esta solicitação seja concluída. Isso é útil para sincronizar a saída do log do journal com o tempo de execução de serviços ou eventos externos, garantindo que quaisquer dados de log enfileirados no subsistema de registro no momento em que SIGTERM/SIGINT é emitido sejam processados e exibidos pelo momento em que a saída do log termina. O padrão é falso.

Adicionado na versão 258.

OPÇÕES DE CONTROLE DO VISUALIZADOR DE PÁGINAS

As seguintes opções controlam o suporte a páginas:

--no-pager
Não canaliza a saída para um visualizador de páginas.

-e, --pager-end
Salta imediatamente para o final do journal dentro do visualizador de páginas implícito. Isso implica --lines=1000 e --boot=0, a menos que especificado explicitamente, para garantir que o visualizador de páginas não armazene logs de tamanho ilimitado. Observe que esta opção é suportada apenas para o visualizador de páginas [less]({filename}../../less)(1).

Adicionado na versão 198.

OPÇÕES DE SELO DE SEGURANÇA DE ENCAMINHAMENTO (FSS)

As seguintes opções podem ser usadas em conjunto com o comando --setup-keys descrito abaixo:

--interval=

Especifica o intervalo de alteração da chave de selagem ao gerar um par de chaves FSS com --setup-keys. Intervalos mais curtos aumentam o consumo de CPU, mas reduzem o intervalo de tempo das alterações de registro não detectáveis. O padrão é 15min.

Observe que --output=json-sse e --output=json-seq são migrados silenciosamente para --output=json.

Adicionado na versão 189.

--verify-key=

Especifica a chave de verificação FSS a ser usada para a operação --verify.

Adicionado na versão 189.

--force

Quando --setup-keys é passado e o Selo de Segurança de Encaminhamento (FSS) já foi configurado, recreia as chaves FSS.

Adicionado na versão 206.

COMANDOS

Os seguintes comandos são suportados. Se nenhum for especificado, o padrão é exibir os registros do diário:

-N, --fields

Imprime todos os nomes de campo atualmente usados em todas as entradas do diário.

Adicionado na versão 229.

-F, --field=

Imprime todos os possíveis valores de dados que o campo especificado pode ter em todas as entradas do diário.

Adicionado na versão 195.

--list-boots

Mostra uma lista tabular dos números de inicialização (relativos à inicialização atual), seus IDs e os carimbos de data/hora da primeira e última mensagem relacionada à inicialização. Quando especificado com -n/--lines=[+]N, apenas as primeiras (quando o número é prefixado com "+") ou as últimas (sem prefixo) N entradas serão mostradas. Quando especificado com -r/--reverse, a lista será mostrada em ordem inversa.

Adicionado na versão 209.

--list-invocations

Lista os IDs de invocação de uma unidade. Requer um nome de unidade com -u/--unit= ou --user-unit=. Mostra uma lista tabular dos números de invocação (relativos à invocação atual ou mais recente), seus IDs e os carimbos de data/hora da primeira e última mensagem relacionada à invocação. Quando -b/-boot é especificado, as invocações na inicialização serão mostradas. Quando especificado com -n/--lines=[+]N, apenas as primeiras (quando o número é prefixado com "+") ou as últimas (sem prefixo) N entradas serão mostradas. Quando especificado com -r/--reverse, a lista será mostrada em ordem inversa.

Adicionado na versão 257.

--disk-usage

Mostra o uso atual do disco de todos os arquivos de diário. Isso mostra a soma do uso do disco de todos os arquivos de diário arquivados e ativos.

Adicionado na versão 190.

--vacuum-size=, --vacuum-time=, --vacuum-files=
--vacuum-size= remove os arquivos de diário arquivados mais antigos até que o espaço em disco que eles usam caia
abaixo do tamanho especificado. Aceita os sufixos comuns "K", "M", "G" e "T" (com base em 1024).

--vacuum-time= remove os arquivos de diário arquivados com mais de um período de tempo especificado. Aceita os
sufixos comuns "s" (padrão), "m", "h", "days", "weeks", "months" e "years", consulte
systemd.time(7) para obter detalhes.

--vacuum-files= mantém apenas o número especificado de arquivos de diário separados.

Observe que a execução de --vacuum-size= tem apenas um efeito indireto na saída exibida por ^ -disk-usage, pois esta última inclui os arquivos de registro ativos, enquanto a operação de limpeza opera apenas nos arquivos de registro arquivados. Da mesma forma, --vacuum-files= pode não reduzir realmente o número de arquivos de registro abaixo do número especificado, pois não removerá os arquivos de registro ativos.

`--vacuum-size=`, `--vacuum-time=` e `--vacuum-files=` podem ser combinados em uma única invocação para aplicar qualquer combinação de um limite de tamanho, tempo e número de arquivos aos arquivos de registro arquivados. Especificar qualquer um desses três parâmetros como zero é equivalente a não aplicar o limite específico e, portanto, é redundante.

Essas três opções também podem ser combinadas com --rotate em um único comando. Se assim for, todos os arquivos ativos serão rotacionados primeiro e a operação de limpeza solicitada será executada logo em seguida. A rotação tem o efeito de arquivar todos os arquivos atualmente ativos (e, possivelmente, abrir novos arquivos de registro vazios como substitutos) e, portanto, a operação de limpeza tem o maior efeito, pois pode levar em conta todos os dados de registro escritos até o momento.

Adicionado na versão 218.

`--verify`

Verifica o arquivo de registro em busca de consistência interna. Se o arquivo foi gerado com o FSS habilitado e a chave de verificação do FSS foi especificada com --verify-key=, a autenticidade do arquivo de registro será verificada.

Adicionado na versão 189.

`--sync`

Solicita que o daemon de registro grave todos os dados de registro ainda não gravados no sistema de arquivos de backup e sincronize todos os registros. Esta chamada não retorna até que a operação de sincronização seja concluída. Este comando garante que quaisquer mensagens de registro escritas antes de sua invocação sejam armazenadas com segurança no disco no momento em que ele retorna.

Adicionado na versão 228.

`--relinquish-var`

Solicita ao daemon de registro que execute a operação inversa de --flush: se solicitado, o daemon gravará mais dados de registro em /run/log/journal/ e parará de gravar em /var/log/journal/. Uma chamada subsequente para --flush fará com que a saída do registro volte a /var/log/journal/, conforme acima.

Adicionado na versão 243.

`--smart-relinquish-var`

Semelhante a --relinquish-var, mas não executa nenhuma operação se o sistema de arquivos raiz e /var/log/journal/ residirem no mesmo ponto de montagem. Esta operação é usada durante o desligamento do sistema para que o daemon de registro pare de gravar dados em /var/log/journal/ caso esse diretório esteja localizado em um ponto de montagem que precise ser desmontado.

Adicionado na versão 243.

`--flush`

Solicita ao daemon de registro que descarregue quaisquer dados de registro armazenados em /run/log/journal/ em /var/log/journal/, se o armazenamento persistente estiver habilitado. Esta chamada não retorna até que a operação seja concluída. Observe que esta chamada é idempotente: os dados são descarregados de /run/log/journal/ para /var/log/journal/ apenas uma vez durante o tempo de execução do sistema (mas veja --relinquish-var abaixo), e este comando é encerrado sem executar nenhuma operação se isso já tiver acontecido. Este comando garante efetivamente que todos os dados sejam descarregados para /var/log/journal/ no momento em que ele retorna.


Adicionado na versão 217.

--rotate

Solicita ao daemon do journal que faça a rotação dos arquivos do journal. Esta chamada não retorna até que a operação de rotação seja concluída. A rotação dos arquivos do journal tem o efeito de marcar todos os arquivos do journal ativos como arquivados e renomeá-los, de modo que eles nunca sejam gravados no futuro. Novos arquivos do journal (vazios) são então criados em seu lugar. Esta operação pode ser combinada com --vacuum-size=, --vacuum-time= e --vacuum-file= em um único comando, veja acima.

Adicionado na versão 227.

--header

Em vez de mostrar o conteúdo do journal, mostra informações de cabeçalho internas dos campos do journal acessados.

Esta opção é particularmente útil ao tentar identificar entradas de journal fora de ordem, como acontece, por exemplo, quando a máquina é inicializada com a hora do sistema incorreta.

Adicionado na versão 187.

--list-catalog [ID de 128 bits...]

Lista o conteúdo do catálogo de mensagens como uma tabela de IDs de mensagem, juntamente com suas descrições curtas.

Se forem especificados IDs de 128 bits, apenas essas entradas serão mostradas.

Adicionado na versão 196.

--dump-catalog [ID de 128 bits...]

Mostra o conteúdo do catálogo de mensagens, com as entradas separadas por uma linha consistindo em dois hífens e o ID (o formato é o mesmo dos arquivos .catalog).

Se forem especificados IDs de 128 bits, apenas essas entradas serão mostradas.

Adicionado na versão 199.

--update-catalog

Atualiza o índice do catálogo de mensagens. Este comando precisa ser executado sempre que novos arquivos de catálogo forem instalados, removidos ou atualizados para reconstruir o índice binário do catálogo.

Adicionado na versão 196.

--setup-keys

Em vez de mostrar o conteúdo do journal, gera um novo par de chaves para o Selamento Seguro para o Futuro (FSS). Isso gerará uma chave de selamento e uma chave de verificação. A chave de selamento é armazenada no diretório de dados do journal e deve permanecer no host. A chave de verificação deve ser armazenada externamente. Consulte a opção Seal= em journald.conf(5) para obter informações sobre o Selamento Seguro para o Futuro e para um link para um artigo acadêmico revisado que detalha a teoria criptográfica em que ele se baseia.

Adicionado na versão 189.

-h, --help

Imprime um texto de ajuda curto e sai.

--version

Imprime uma string de versão curta e sai.

STATUS DE SAÍDA

Em caso de sucesso, 0 é retornado; caso contrário, um código de falha diferente de zero é retornado.

AMBIENTE

$SYSTEMD_LOG_LEVEL

O nível de log máximo das mensagens emitidas (mensagens com um nível de log mais alto, ou seja, menos importantes, serão suprimidas). Aceita uma lista separada por vírgulas de valores. Um valor pode ser um dos (em ordem de importância decrescente) emerg, alert, crit, err, warning, notice, info, debug, ou um inteiro no intervalo de 0 a 7. Consulte syslog(3) para obter mais informações. Cada valor pode ser opcionalmente prefixado com um dos valores console, syslog, kmsg ou journal, seguido de dois pontos, para definir o nível de log máximo para esse destino de log específico (por exemplo, SYSTEMD_LOG_LEVEL=debug,console:info especifica para registrar no nível de depuração, exceto quando o registro é feito no console, que deve estar no nível de informação). Observe que o nível de log máximo global tem precedência sobre qualquer nível de log máximo por destino.


$SYSTEMD_LOG_COLOR
Um booleano. Se verdadeiro, as mensagens gravadas no terminal serão coloridas de acordo com a prioridade.

Essa configuração só é útil quando as mensagens são gravadas diretamente no terminal, porque journalctl(1) e outras ferramentas que exibem logs colorirão as mensagens com base no nível do log por conta própria.

$SYSTEMD_LOG_TIME
Um booleano. Se verdadeiro, as mensagens de log do console serão prefixadas com um timestamp.

Essa configuração só é útil quando as mensagens são gravadas diretamente no terminal ou em um arquivo, porque journalctl(1) e outras ferramentas que exibem logs anexarão timestamps com base nos metadados da entrada por conta própria.

$SYSTEMD_LOG_LOCATION
Um booleano. Se verdadeiro, as mensagens serão prefixadas com o nome do arquivo e o número da linha no código-fonte de onde a mensagem se origina.

Observe que o local do log geralmente é anexado como metadados às entradas do journal de qualquer maneira. Incluir isso diretamente no texto da mensagem pode, no entanto, ser conveniente ao depurar programas.

$SYSTEMD_LOG_TID
Um booleano. Se verdadeiro, as mensagens serão prefixadas com o ID numérico do thread atual (TID).

Observe que essa informação é anexada como metadados às entradas do journal de qualquer maneira. Incluir isso diretamente no texto da mensagem pode, no entanto, ser conveniente ao depurar programas.

$SYSTEMD_LOG_TARGET

O destino para mensagens de log. Um de: console (registrar no tty anexado), console-prefixed (registrar no tty anexado, mas com prefixos que codificam o nível do log e a "facilidade", consulte syslog(3), kmsg (registrar no buffer de log circular do kernel), journal (registrar no journal), journal-or-kmsg (registrar no journal, se disponível, e em kmsg caso contrário), auto (determinar o destino de log apropriado automaticamente, o padrão), null (desabilitar a saída de log).

$SYSTEMD_LOG_RATELIMIT_KMSG

Se deve aplicar o limite de taxa em kmsg ou não. Aceita um booleano. O padrão é "true". Se desabilitado, systemd não aplicará o limite de taxa em mensagens gravadas em kmsg.

$SYSTEMD_PAGER, $PAGER

Pager a ser usado quando --no-pager não for fornecido. $SYSTEMD_PAGER é usado se estiver definido; caso contrário, $PAGER é usado. Se nem $SYSTEMD_PAGER nem $PAGER estiverem definidos, um conjunto de implementações de pager bem conhecidas é tentado em sequência, incluindo less(1) e more(1), até que uma seja encontrada. Se nenhuma implementação de pager for descoberta, nenhum pager será invocado. Definir essas variáveis de ambiente para uma string vazia ou o valor "cat" é equivalente a passar --no-pager.

Observação: se $SYSTEMD_PAGERSECURE não estiver definido, $SYSTEMD_PAGER e $PAGER só podem ser usados para
desabilitar o pager (com "cat" ou "") e, caso contrário, são ignorados.

$SYSTEMD_LESS

Substitui as opções passadas para less (por padrão "FRSXMK").

Os usuários podem querer alterar duas opções em particular:

K

Essa opção instrui o pager a sair imediatamente quando Ctrl+C é pressionado. Para permitir que less lidere com Ctrl+C por conta própria para retornar ao prompt de comando do pager, desative esta opção.

Se o valor de $SYSTEMD_LESS não incluir "K" e o pager que é invocado for less, Ctrl+C será ignorado pelo executável e precisará ser tratado pelo pager.


X

Esta opção instrui o paginador a não enviar strings de inicialização e desinicialização do termcap para o terminal. Por padrão, está definido para permitir que a saída do comando permaneça visível no terminal mesmo após o paginador ser encerrado. No entanto, isso impede que algumas funcionalidades do paginador funcionem, em particular, a saída paginada não pode ser rolada com o mouse.

Observe que definir a variável de ambiente $LESS regular não tem efeito para as invocações de less pelos utilitários systemd.

$SYSTEMD_LESSCHARSET

Substitui o conjunto de caracteres passado para less (por padrão, "utf-8", se o terminal de invocação for determinado como compatível com UTF-8).

Observe que definir a variável de ambiente $LESSCHARSET regular não tem efeito para as invocações de less pelos utilitários systemd.

$SYSTEMD_PAGERSECURE

Comandos comuns do paginador, como less(1), além de "paginar", ou seja, percorrer a saída, suportam a abertura ou gravação em outros arquivos e a execução de comandos shell arbitrários. Quando os comandos são invocados com privilégios elevados, por exemplo, sob sudo(8) ou pkexec(1), o paginador se torna um limite de segurança. É preciso ter cuidado para que apenas programas com funcionalidade estritamente limitada sejam usados como paginadores, e recursos interativos não intencionais, como abertura ou criação de novos arquivos ou início de subprocessos, não sejam permitidos. O "modo seguro" para o paginador pode ser habilitado, conforme descrito abaixo, se o paginador suportar isso (a maioria dos paginadores não é escrita de forma a considerar isso). É recomendável habilitar explicitamente o "modo seguro" ou desabilitar completamente o paginador usando --no-pager ou PAGER=cat ao permitir que usuários não confiáveis executem comandos com privilégios elevados.

Esta opção recebe um argumento booleano. Quando definido como true, o "modo seguro" do paginador é habilitado. No "modo seguro", LESSSECURE=1 será definido ao invocar o paginador, o que instrui o paginador a desabilitar comandos que abrem ou criam novos arquivos ou iniciam novos subprocessos. Atualmente, apenas less(1) é conhecido por entender esta variável e implementar o "modo seguro".

Quando definido como false, nenhuma limitação é colocada no paginador. Definir SYSTEMD_PAGERSECURE=0 ou não removê-lo do ambiente herdado pode permitir que o usuário invoque comandos arbitrários.

Quando $SYSTEMD_PAGERSECURE não está definido, os utilitários systemd tentam determinar automaticamente se o "modo seguro" deve ser habilitado e se o paginador o suporta. O "modo seguro" é habilitado se o UID efetivo não for o mesmo do proprietário da sessão de login, consulte geteuid(2) e sd_pid_get_owner_uid(3), ou quando executado sob sudo(8) ou ferramentas semelhantes ($SUDO_UID está definido [8]). Nesses casos, SYSTEMD_PAGERSECURE=1 será definido e os paginadores que não forem conhecidos por implementar o "modo seguro" não serão usados. Observe que esta detecção automática cobre apenas os mecanismos mais comuns para elevar privilégios e tem como objetivo ser uma conveniência. É recomendável definir explicitamente $SYSTEMD_PAGERSECURE ou desabilitar o paginador.


Observe que, se as variáveis $SYSTEMD_PAGER ou $PAGER devem ser respeitadas, exceto para desativar o paginator, a variável $SYSTEMD_PAGERSECURE também deve ser definida.

$SYSTEMD_COLORS

Aceita um argumento booleano. Quando verdadeiro, o systemd e as utilidades relacionadas usarão cores em sua saída; caso contrário, a saída será monocromática. Além disso, a variável pode assumir um dos seguintes valores especiais: "16", "256" para restringir o uso de cores às 16 ou 256 cores ANSI básicas, respectivamente. Isso pode ser especificado para substituir a decisão automática com base em $TERM e no que o console está conectado.

$SYSTEMD_URLIFY

O valor deve ser booleano. Controla se links clicáveis devem ser gerados na saída para emuladores de terminal que suportam isso. Isso pode ser especificado para substituir a decisão que o systemd toma com base em $TERM e outras condições.

EXEMPLOS

Sem argumentos, todos os logs coletados são exibidos sem filtro:

journalctl

Com uma correspondência especificada, todas as entradas com um campo correspondente à expressão são exibidas:

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

Se dois campos diferentes corresponderem, apenas as entradas que correspondem a ambas as expressões ao mesmo tempo serão exibidas:

journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097

Se duas correspondências se referirem ao mesmo campo, todas as entradas que correspondem a qualquer uma das expressões serão exibidas:

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

Se o separador "+" for usado, duas expressões podem ser combinadas em um OR lógico. O seguinte exibirá todas as mensagens do processo do serviço Avahi com o PID 28097 mais todas as mensagens do serviço D-Bus (de qualquer um de seus processos):

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

Para exibir todos os campos emitidos por uma unidade e sobre a unidade, a opção -u/--unit= deve ser usada. journalctl -u name se expande para um filtro complexo semelhante a

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

(veja systemd.journal-fields(7) para uma explicação desses padrões).

Exibir todos os logs gerados pelo executável D-Bus:

journalctl /usr/bin/dbus-daemon

Exibir todos os logs do kernel da inicialização anterior:

journalctl -k -b -1

Exibir um log ao vivo de um serviço de sistema apache.service:

journalctl -f -u apache

VER TAMBÉM

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)

NOTAS

UAPI.2 Especificação de Partições Detectáveis
https://uapi-group.org/specifications/specs/discoverable_partitions_specification

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

    Formato de Exportação do Journal
https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-export-format

    Formato JSON do Journal
https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-json-format

    Eventos Enviados pelo Servidor
https://developer.mozilla.org/en-US/docs/Server-sent_events/Using_server-sent_events

    Sequências de Texto em Notação JSON (JavaScript Object Notation)
https://tools.ietf.org/html/rfc7464

    Catálogos de Mensagens do Journal
https://systemd.io/CATALOG

    Recomenda-se que outras ferramentas definam e verifiquem $SUDO_UID conforme apropriado, tratando-o como uma
interface comum.