重慶思莊Linux技術(shù)分享-journalctl檢索systemd 日志
語法:
journalctl [OPTIONS...] [MATCHES...]
選項:
Flags:
--system? ?? ?? ?? ?? ?# 顯示系統(tǒng)日志
--user? ?? ?? ?? ?? ???# 顯示當(dāng)前用戶的用戶日志
-M --machine=CONTAINER??# 在本地容器上操作
-S --since=DATE? ?? ?? ?# 顯示不早于指定日期的條目
-U --until=DATE? ?? ?? ?# 顯示不晚于指定日期的條目
-c --cursor=CURSOR? ?? ?# 顯示從指定光標(biāo)開始的條目
??--after-cursor=CURSOR # 在指定光標(biāo)后顯示條目
??--show-cursor? ?? ?? ?# 在所有條目之后打印光標(biāo)
-b --boot[=ID]? ?? ?? ? # 顯示當(dāng)前啟動或指定啟動
??--list-boots? ?? ?? ? # 顯示有關(guān)已記錄引導(dǎo)的簡潔信息
-k --dmesg? ?? ?? ?? ???# 顯示當(dāng)前啟動的內(nèi)核消息日志
-u --unit=UNIT? ?? ?? ? # 顯示指定單元的日志
-t --identifier=STRING??# 顯示具有指定系統(tǒng)日志標(biāo)識符的條目
-p --priority=RANGE? ???# 顯示具有指定優(yōu)先級的條目
-e --pager-end? ?? ?? ? # 在pager中立即跳轉(zhuǎn)到末尾
-f --follow? ?? ?? ?? ? # 關(guān)注期刊
-n --lines[=INTEGER]? ? # 要顯示的日志條目數(shù)
??--no-tail? ?? ?? ?? ? # 顯示所有行,即使在跟隨模式下
-r --reverse? ?? ?? ?? ?# 首先顯示最新的條目
-o --output=STRING? ?? ?# 更改日志輸出模式 (short, short-iso,
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???short-precise, short-monotonic, verbose,
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???export, json, json-pretty, json-sse, cat)
--utc? ?? ?? ?? ?? ?? ? # 以協(xié)調(diào)世界時 (UTC) 表示的時間
-x --catalog? ?? ?? ?? ?# 在可用的情況下添加消息說明
? ?--no-full? ?? ?? ?? ?# Ellipsize 字段
-a --all? ?? ?? ?? ?? ? # 顯示所有字段,包括長的和不可打印的
-q --quiet? ?? ?? ?? ???# 不顯示特權(quán)警告
? ?--no-pager? ?? ?? ???# 不要將輸出通過管道傳輸?shù)綄ず魴C
-m --merge? ?? ?? ?? ???# 顯示所有可用期刊的條目
-D --directory=PATH? ???# 顯示目錄中的日志文件
? ?--file=PATH? ?? ?? ? # 顯示日志文件
? ?--root=ROOT? ?? ?? ? # 對根目錄下的目錄文件進(jìn)行操作
? ?--interval=TIME? ?? ?# 更改 FSS 密封鍵的時間間隔
? ?--verify-key=KEY? ???# 指定FSS驗證密鑰
? ?--force? ?? ?? ?? ???# 使用 --setup-keys 覆蓋 FSS 密鑰對
Commands:
-h --help? ?? ?? ?? ???# 顯示此幫助文本
? ?--version? ?? ?? ???# 顯示包版本
-F --field=FIELD? ?? ? # 列出指定字段的所有值
? ?--new-id128? ?? ?? ?# 生成新的 128 位 ID
? ?--disk-usage? ?? ???# 顯示所有日志文件的總磁盤使用情況
? ?--vacuum-size=BYTES # 將磁盤使用量減少到指定大小以下
? ?--vacuum-time=TIME??# 刪除早于指定日期的日志文件
? ?--flush? ?? ?? ?? ? # 將所有日志數(shù)據(jù)從 /run 刷新到 /var
? ?--header? ?? ?? ?? ?# 顯示期刊頭信息
? ?--list-catalog? ?? ?# 顯示目錄中的所有消息 ID
? ?--dump-catalog? ?? ?# 在消息目錄中顯示條目
? ?--update-catalog? ? # 更新消息目錄數(shù)據(jù)庫
? ?--setup-keys? ?? ???# 生成新的 FSS 密鑰對
? ?--verify? ?? ?? ?? ?# 驗證日志文件的一致性
實例
過濾輸出
journalctl 可以根據(jù)特定字段過濾輸出。如果過濾的字段比較多,需要較長時間才能顯示出來。
示例:
顯示本次啟動后的所有日志:
journalctl -b
不過,一般大家更關(guān)心的不是本次啟動后的日志,而是上次啟動時的(例如,剛剛系統(tǒng)崩潰了)。可以使用 -b 參數(shù):
journalctl -b -0 顯示本次啟動的信息
journalctl -b -1 顯示上次啟動的信息
journalctl -b -2 顯示上上次啟動的信息 journalctl -b -2
只顯示錯誤、沖突和重要告警信息
journalctl -p err..alert
也可以使用數(shù)字, journalctl -p 3..1。如果使用單個 number/keyword,則 journalctl -p 3 - 還包括所有更高的優(yōu)先級。
顯示從某個日期 ( 或時間 ) 開始的消息:
journalctl --since="2012-10-30 18:17:16"
顯示從某個時間 ( 例如 20分鐘前 ) 的消息:
journalctl --since "20 min ago"
顯示最新信息
journalctl -f
顯示特定程序的所有消息:
journalctl /usr/lib/systemd/systemd
顯示特定進(jìn)程的所有消息:
journalctl _PID=1
顯示指定單元的所有消息:
journalctl -u man-db.service
顯示內(nèi)核環(huán)緩存消息r:
journalctl -k
手動清理日志
/var/log/journal 存放著日志, rm 應(yīng)該能工作. 或者使用 journalctl,
例如:
清理日志使總大小小于 100M:
journalctl --vacuum-size=100M
清理最早兩周前的日志.
journalctl --vacuum-time=2weeks