journalctl
檢索 systemd 日誌,是 CentOS 7 纔有的工具。
語法
1journalctl [OPTIONS...] [MATCHES...]
選項
1Flags:
2 --system # 顯示系統日誌
3 --user # 顯示當前用戶的用戶日誌
4-M --machine=CONTAINER # 在本地容器上操作
5-S --since=DATE # 顯示不早於指定日期的條目
6-U --until=DATE # 顯示不晚於指定日期的條目
7-c --cursor=CURSOR # 顯示從指定光標開始的條目
8 --after-cursor=CURSOR # 在指定光標後顯示條目
9 --show-cursor # 在所有條目之後打印光標
10-b --boot[=ID] # 顯示當前啓動或指定啓動
11 --list-boots # 顯示有關已記錄引導的簡潔信息
12-k --dmesg # 顯示當前啓動的內核消息日誌
13-u --unit=UNIT # 顯示指定單元的日誌
14-t --identifier=STRING # 顯示具有指定系統日誌標識符的條目
15-p --priority=RANGE # 顯示具有指定優先級的條目
16-e --pager-end # 在pager中立即跳轉到末尾
17-f --follow # 關注期刊
18-n --lines[=INTEGER] # 要顯示的日誌條目數
19 --no-tail # 顯示所有行,即使在跟隨模式下
20-r --reverse # 首先顯示最新的條目
21-o --output=STRING # 更改日誌輸出模式 (short, short-iso,
22 short-precise, short-monotonic, verbose,
23 export, json, json-pretty, json-sse, cat)
24--utc # 以協調世界時 (UTC) 表示的時間
25-x --catalog # 在可用的情況下添加消息說明
26 --no-full # Ellipsize 字段
27-a --all # 顯示所有字段,包括長的和不可打印的
28-q --quiet # 不顯示特權警告
29 --no-pager # 不要將輸出通過管道傳輸到尋呼機
30-m --merge # 顯示所有可用期刊的條目
31-D --directory=PATH # 顯示目錄中的日誌文件
32 --file=PATH # 顯示日誌文件
33 --root=ROOT # 對根目錄下的目錄文件進行操作
34 --interval=TIME # 更改 FSS 密封鍵的時間間隔
35 --verify-key=KEY # 指定FSS驗證密鑰
36 --force # 使用 --setup-keys 覆蓋 FSS 密鑰對
37
38Commands:
39-h --help # 顯示此幫助文本
40 --version # 顯示包版本
41-F --field=FIELD # 列出指定字段的所有值
42 --new-id128 # 生成新的 128 位 ID
43 --disk-usage # 顯示所有日誌文件的總磁盤使用情況
44 --vacuum-size=BYTES # 將磁盤使用量減少到指定大小以下
45 --vacuum-time=TIME # 刪除早於指定日期的日誌文件
46 --flush # 將所有日誌數據從 /run 刷新到 /var
47 --header # 顯示期刊頭信息
48 --list-catalog # 顯示目錄中的所有消息 ID
49 --dump-catalog # 在消息目錄中顯示條目
50 --update-catalog # 更新消息目錄數據庫
51 --setup-keys # 生成新的 FSS 密鑰對
52 --verify # 驗證日誌文件的一致性
實例
過濾輸出
journalctl
可以根據特定字段過濾輸出。如果過濾的字段比較多,需要較長時間才能顯示出來。
示例:
顯示本次啓動後的所有日誌:
1journalctl -b
不過,一般大家更關心的不是本次啓動後的日誌,而是上次啓動時的(例如,剛剛系統崩潰了)。可以使用 -b 參數:
journalctl -b -0
顯示本次啓動的信息journalctl -b -1
顯示上次啓動的信息journalctl -b -2
顯示上上次啓動的信息journalctl -b -2
只顯示錯誤、衝突和重要告警信息
1journalctl -p err..alert
也可以使用數字, journalctl -p 3..1
。如果使用單個 number/keyword,則 journalctl -p 3
- 還包括所有更高的優先級。
顯示從某個日期 ( 或時間 ) 開始的消息:
1journalctl --since="2012-10-30 18:17:16"
顯示從某個時間 ( 例如 20分鐘前 ) 的消息:
1journalctl --since "20 min ago"
顯示最新信息
1journalctl -f
顯示特定程序的所有消息:
1journalctl /usr/lib/systemd/systemd
顯示特定進程的所有消息:
1journalctl _PID=1
顯示指定單元的所有消息:
1journalctl -u man-db.service
顯示內核環緩存消息r:
1journalctl -k
手動清理日誌
/var/log/journal
存放着日誌, rm
應該能工作. 或者使用 journalctl
,
例如:
清理日誌使總大小小於 100M:
1journalctl --vacuum-size=100M
清理最早兩週前的日誌.
1journalctl --vacuum-time=2weeks
來源:https://github.com/jaywcjlove/linux-command
最後修改於: Wednesday, January 31, 2024
版權申明:
- 未標註來源的內容皆為原創,未經授權請勿轉載(因轉載後排版往往錯亂、內容不可控、無法持續更新等);
- 非營利為目的,演繹本博客任何內容,請以'原文出處'或者'參考鏈接'等方式給出本站相關網頁地址(方便讀者)。