> 软件包与系统管理 > journalctl

Journalctl 完全指南

systemd 日志的查询和管理核心工具。通过本指南,您可以掌握 journalctl 的各种选项和用法。

主要选项

点击以下选项,亲自构建 `journalctl` 命令并查看每个功能的说明。此工具旨在帮助用户通过组合各种选项直观地理解命令的工作方式。

1. 基本查询

2. 过滤

3. 输出格式

生成的命令:

请尝试组合命令。

描述:

`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

将日志文件的总大小限制为指定容量,并删除旧日志。



相同类别命令