Systemd
在 journalctl 中僅列印時間戳和消息
我正在嘗試從中獲取最後幾行,
journalctl
以便將它們輸入到我的conky
. 然而journalctl
,預設情況下提供了太多浪費空間的廢話:journalctl -u PROCESS -n 5 --no-pager -l
我得到如下條目:
DATE TIME HOSTNAME PROCESS: MESSAGE
我只想列印
TIME MESSAGE
。我怎樣才能做到這一點?手冊頁說有一個
-o
參數,但沒有適合我需要的預定義格式。我嘗試添加--output-fields=__REALTIME_TIMESTAMP,MESSAGE
,但這只是顯示預設輸出(而不是時間戳/消息)。該論點聲稱只有某些格式受到影響,所以我嘗試--output-fields=__REALTIME_TIMESTAMP,MESSAGE -o verbose
了,但這只會給我正常的 vebose 輸出。此外,顯然總是列印 4 個欄位,這對我來說已經太多了。我只想要 2:一個緊湊的時間戳和消息。我可以使用一些 bash 魔術或 python 腳本來清理它,但這似乎有點過分。當然有辦法讓 journalctl 給我一個時間戳和消息嗎?
這似乎已在 2018 年實施,請參閱此 PR。對於 236 及更高版本,您似乎可以使用
--output-fields=
,如--help
. 檢查您的版本systemctl --version
,我的 CentOS 7 目前(2019 年)執行版本 219,因此這可能需要一些時間才能在大多數環境中使用。編輯:僅供參考 EL8(截至 2021 年 4 月 12 日)執行 systemd 239,因此可用。
journalctl --output cat
cat generates a very terse output, only showing the actual message of each journal entry with no metadata, not even a timestamp. If combined with the --output-fields= option will output the listed fields for each log record, instead of the message.