跳至主要内容

journalctl

journalctl(1) @ Linux manual page


journalctl 是一個用於查看和操作 systemd 日誌的強大命令行工具,主要用於查看、分析和調試系統上的日誌資訊

基本概念

在 Linux 中,systemd 系統和服務管理器使用日誌來收集和管理從啟動到關機的所有日誌**journalctl** 命令提供了一個介面來檢索和查看這些日誌資訊

常用命令及參數

1. 查看所有日誌

journalctl

2. 反向顯示日誌(最新的日誌條目先顯示)

journalctl -r

3. 查看特定服務的日誌

journalctl -u nginx.service

4. 查看指定時間的日誌

journalctl --since "2021-05-01" --until "2021-05-02"

5. 實時跟踪最新日誌

journalctl -f

6. 查看 kernel 日誌

journalctl -k

7. 按頁顯示日誌條目

journalctl --no-pager

預設情況下,journalctl 輸出會通過分頁 process(如 less)來顯示

使用 --no-pager 參數可以直接在 terminal 輸出所有日誌,不進行分頁

進階用法

壓縮舊日誌

為了管理空間,journalctl 允許壓縮舊日誌:

journalctl --vacuum-size=1G

刪除舊的日誌,直到日誌文件大小被壓縮至1GB

日誌持久性

預設情況下,系統可能只存儲當前會話的日誌。要配置日誌的持久存儲,需要創建一個特定的目錄:

sudo mkdir -p /var/log/journal
sudo systemd-tmpfiles --create --prefix /var/log/journal