Estou tentando obter as últimas linhas journalctl
para poder alimentá-las no meu arquivo conky
. No entanto journalctl
, por padrão, fornece muita porcaria que desperdiça espaço: Com journalctl -u PROCESS -n 5 --no-pager -l
eu recebo entradas como:
DATE TIME HOSTNAME PROCESS: MESSAGE
Quero imprimir apenas TIME MESSAGE
. Como eu posso fazer isso?
A página de manual diz que há um -o
argumento, mas não há um formato predefinido que atenda à minha necessidade. Tentei adicionar, --output-fields=__REALTIME_TIMESTAMP,MESSAGE
mas isso mostra apenas a saída padrão (e não o carimbo de data/hora/mensagem). Esse argumento afirma que apenas alguns formatos são afetados, então tentei, --output-fields=__REALTIME_TIMESTAMP,MESSAGE -o verbose
mas isso só me dá a saída vebose normal. Além disso, aparentemente há 4 campos que são sempre impressos, o que já é demais para mim. Eu quero apenas 2: um timestamp compacto e a mensagem.
Eu poderia usar alguma magia bash ou um script python para limpá-lo, mas isso parece um pouco excessivo. Certamente há uma maneira de pedir ao journalctl para me dar apenas um carimbo de data/hora e uma mensagem?
Isso parece ter sido implementado em 2018, veja este PR . Com a versão 236 e superior, parece que você pode usar
--output-fields=
, descrito em--help
. Verifique sua versão comsystemctl --version
, meu CentOS 7 atualmente (em 2019) executa a versão 219, então provavelmente levará algum tempo para chegar à maioria dos ambientes.editar : FYI EL8 (a partir de 2021-04-12) executa o systemd 239, portanto, está disponível.
journalctl --output cat