主要选项
点击下面的选项,以直接创建 `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
限制日志文件的总大小为指定容量,并删除旧日志。