首頁 > 套件與系統管理 > journalctl

Journalctl 完整指南

這是查詢和管理 systemd 日誌的核心工具。透過本指南,您可以掌握 journalctl 的各種選項和用法。

主要選項

點擊以下選項,直接建構 `journalctl` 命令並查看每個功能的說明。此工具可幫助用戶透過組合不同選項,直觀地理解命令的運作方式。

1. 基本查詢

2. 過濾

3. 輸出格式

生成的命令:

請試著組合命令。

這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。

`journalctl` 執行命令。

請將上述選項組合在一起,與 AI 一同虛擬執行命令。

日誌儲存與結構

`journald` 服務將系統日誌以二進位格式儲存在特定位置。儲存方式取決於系統設定,這與日誌保留期限直接相關。本節將說明日誌儲存在何處以及如何儲存。

🌀 暫時性儲存

/run/log/journal/

此處的日誌在系統重啟後將全部刪除。主要用於短期問題排查或臨時日誌儲存。如果系統未設定永久儲存目錄,則預設使用此處。

💾 永久儲存

/var/log/journal/

此路徑用於在系統重啟後仍需保留日誌的情況。大多數運行中的伺服器環境會將日誌設定儲存在此路徑。如果此目錄存在,journald 會自動永久保留日誌。

設定檔與日誌清理

為防止日誌佔用過多磁碟空間,您可以更改 `journald` 的設定或定期清理過期日誌。本節將介紹相關的設定檔和清理命令。

設定檔: journald.conf

journald 的所有行為都可以透過 /etc/systemd/journald.conf 檔案控制。以下是主要的設定選項。更改設定後,需要使用 sudo systemctl restart systemd-journald 命令重啟服務。

  • Storage=: 決定日誌儲存方式。( persistent, volatile, auto )
  • SystemMaxUse=: 指定日誌可使用的最大磁碟空間。(例如: 1G )
  • SystemKeepFree=: 指定始終需要保留的最小可用空間。(例如: 200M )
  • ForwardToSyslog=: 設定是否將日誌轉發到現有的 syslog 守護進程。

日誌清理

您可以手動清理日誌以釋放磁碟空間。請注意,已刪除的日誌無法復原。

檢查當前磁碟使用情況

journalctl --disk-usage

檢查日誌當前佔用的磁碟空間。

刪除舊日誌 (按時間)

sudo journalctl --vacuum-time=2weeks

刪除所有比指定時間更舊的日誌。

限制日誌大小 (按容量)

sudo journalctl --vacuum-size=500M

將日誌檔案的總大小限制在指定容量,並刪除舊日誌。



相同類別命令