您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# Linux下journalctl命令怎么用
## 一、journalctl简介
`journalctl` 是Systemd日志系统(journal)的核心管理工具,用于查询和显示系统日志。作为传统syslog的替代方案,它提供了:
- 结构化日志存储(二进制格式)
- 基于元数据的高效检索
- 实时日志监控能力
- 日志完整性校验功能
## 二、基础使用方法
### 1. 查看完整日志
```bash
journalctl
默认显示当前启动周期的所有日志,按时间倒序排列。
# 查看最近1小时日志
journalctl --since "1 hour ago"
# 指定时间范围
journalctl --since "2023-05-01 09:00:00" --until "2023-05-01 17:00:00"
# 今日日志
journalctl --since today
# 查看指定服务日志
journalctl -u nginx.service
# 组合查询
journalctl -u sshd.service --since yesterday
# 仅显示错误日志(优先级≥ERROR)
journalctl -p err
# 常用优先级级别:
# 0: emerg 1: alert
# 2: crit 3: err
# 4: warning 5: notice
# 6: info 7: debug
# 仅显示内核日志
journalctl -k
# 带时间戳的内核日志
journalctl -k -o short-full
# 查看本次启动日志
journalctl -b
# 查看上次启动日志
journalctl -b -1
# 显示启动耗时详情
journalctl -b --list-boots
# JSON格式(适合程序处理)
journalctl -o json
# 详细格式(显示全部字段)
journalctl -o verbose
# 分页显示(防止内容溢出)
journalctl --no-pager | less
# 只显示特定字段
journalctl --output-fields=MESSAGE,PRIORITY
# 显示可用的字段列表
journalctl --fields
# 查看日志占用空间
journalctl --disk-usage
# 限制日志最大大小(保留10%空闲空间)
journalctl --vacuum-size=200M
# 按时间清理(保留最近2周)
journalctl --vacuum-time=2weeks
默认配置位于 /etc/systemd/journald.conf
:
[Journal]
Storage=persistent # 改为persistent启用持久化
Compress=yes # 启用压缩
SystemMaxUse=1G # 系统日志最大占用
# 找出所有失败的systemd单元
journalctl --failed
# 查看某个服务崩溃前的最后日志
journalctl -u crashed.service -n 50 --no-pager
# 查看所有sudo执行记录
journalctl SUDO_COMMAND
# 跟踪用户登录事件
journalctl _COMM=sshd -o verbose | grep "Accepted password"
# 找出耗时最长的服务启动项
journalctl -b -o short-monotonic | grep "Starting.*service"
# 添加--all参数显示完整内容
journalctl -u mysql --all
# 强制使用UTC时间
journalctl --utc
# 使用本地时间显示
journalctl --no-utc
检查是否启用了持久化存储:
ls /var/log/journal # 确认目录存在
特性 | journalctl | syslog |
---|---|---|
存储格式 | 二进制(带索引) | 纯文本 |
检索方式 | 多字段组合查询 | 主要依赖grep |
日志完整性 | 支持校验和 | 无保护机制 |
性能影响 | 写入时略高,读取更快 | 写入快,复杂查询慢 |
官方文档:man journalctl
和 man journald.conf
高级过滤语法:journalctl FIELD_NAME=VALUE
与其他工具集成:
# 生成统计报告
journalctl --since "1 month ago" | awk '{print $5}' | sort | uniq -c | sort -nr
掌握journalctl可以显著提升Linux系统的问题诊断效率,建议在日常管理中多加练习这些技巧。 “`
注:实际字数约1500字,可根据需要调整部分章节的详细程度。本文已包含基本用法、高级技巧、实战案例和故障处理等完整内容体系。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。