journalctl
行程與系統
用法
journalctl -u <unit> [-f]讀取 systemd 以二進位格式收集的日誌;沒有 /var/log/journal 時日誌一重開機就沒了,而 `-u` 要寫單元的準確名稱。
常用選項
| 選項 | 含義 |
|---|---|
| -u <unit> | Only one unit. The name must match exactly. |
| -f | Follow new lines as they arrive, like tail -f. |
| -n 100 | The last 100 lines instead of the whole journal. |
| --since "1 hour ago" | Limit by time; --until does the other end. |
| -p err | Only this priority and worse (emerg, alert, crit, err, warning...). |
| -b / -b -1 | This boot only / the previous boot. |
| -k | Kernel messages only. |
| --no-pager | Print straight to stdout so you can pipe it. |
範例
journalctl -u nginx -n 50 --no-pagerThe last fifty lines from one service.
journalctl -fu myappWatch a service live while you reproduce a bug.
journalctl --since "10 min ago" -p errOnly recent errors, from every unit.
看什麼在跑、什麼在吃機器。先弄清是什麼,再決定殺不殺。
怎麼看
- 方括號 [ ] 表示這部分可以不寫。
- 省略號 … 表示可以寫多個。
- 選項區分大小寫——有些命令裡 -r 和 -R 不是一回事。
常見問題
Q. journalctl 是做什麼的?
讀取 systemd 以二進位格式收集的日誌;沒有 /var/log/journal 時日誌一重開機就沒了,而 `-u` 要寫單元的準確名稱。
Q. 怎麼寫?
journalctl -u <unit> [-f] —— 方括號表示可以省略的部分。
Q. 值得記的選項有幾個?
這裡列了 8 個,完整列表在 man journalctl。這條命令屬於行程與系統。
相關命令
man 手冊: man journalctl