系统日志查询命令
journalctl 命令
journalctl(1) — manpages-zh — Debian unstable — Debian Manpages
显示本次启动后的所有日志:
journalctl -b
显示某个systemctl服务的日志
journalctl -u docker.service
显示7天内的日志
journalctl -u docker.service --since "7 days ago"
显示从某个时间开始的消息
journalctl --since="2012-10-30 18:17:16"
显示 Docker 服务自系统启动以来的所有日志,并且会实时更新显示新的日志条目,
journalctl -u docker.service --no-tail -f -a
显示所有内核日志,实时刷新,显示全部格式
journalctl -k --no-tail -f -a
显示某服务最新的100条日志并实时刷新:
journalctl -u docker.service -n 100 -f
清理日志使总大小小于 100M:
journalctl --vacuum-size=100M
清理最早两周前的日志.
journalctl --vacuum-time=2weeks
查看日志占用大小
[root@VM-0-16-centos 3d870b13f28a4409aaf2781e2f7e68f1]# journalctl --disk-usage
Archived and active journals take up 24.0M on disk.
以下是 journalctl --help
命令输出的中文翻译:
# journalctl --help
journalctl [选项...] [匹配项...]
标志:
--system 显示系统日志
--user 显示当前用户的用户日志
-M --machine=容器 在本地容器上操作
-S --since=日期 显示不早于指定日期的条目
-U --until=日期 显示不晚于指定日期的条目
-c --cursor=游标 从指定游标开始显示条目
--after-cursor=游标 显示在指定游标之后的条目
--show-cursor 在所有条目后打印游标
-b --boot[=ID] 显示当前启动或指定的启动
--list-boots 显示有关记录启动的简洁信息
-k --dmesg 显示当前启动的内核消息日志
-u --unit=单元 显示指定单元的日志
-t --identifier=字符串 显示具有指定系统日志标识符的条目
-p --priority=范围 显示具有指定优先级的条目
-e --pager-end 在分页器中立即跳转到末尾
-f --follow 跟踪日志
-n --lines[=整数] 显示的日志条目数量
--no-tail 即使在跟踪模式下也显示所有行
-r --reverse 首先显示最新的条目
-o --output=字符串 更改日志输出模式(short, short-iso,
short-precise, short-monotonic, verbose,
export, json, json-pretty, json-sse, cat)
--utc 用协调世界时(UTC)表示时间
-x --catalog 添加可用的消息解释
--no-full 省略字段
-a --all 显示所有字段,包括长的和不可打印的
-q --quiet 不显示权限警告
--no-pager 不将输出导入分页器
-m --merge 显示所有可用日志的条目
-D --directory=路径 从目录显示日志文件
--file=路径 显示日志文件
--root=根 在根ROOT下操作目录文件
--interval=时间 更改FSS密封密钥的时间间隔
--verify-key=密钥 指定FSS验证密钥
--force 用--setup-keys覆盖FSS密钥对
命令:
-h --help 显示此帮助文本
--version 显示包版本
-F --field=字段 列出指定字段取的所有值
--new-id128 生成新的128位ID
--disk-usage 显示所有日志文件的总磁盘使用量
--vacuum-size=字节 减少磁盘使用量至指定大小以下
--vacuum-time=时间 删除早于指定日期的日志文件
--flush 将所有日志数据从/run刷新到/var
--header 显示日志头部信息
--list-catalog 显示目录中的所有消息ID
--dump-catalog 显示消息目录中的条目
--update-catalog 更新消息目录数据库
--setup-keys 生成新的FSS密钥对
--verify 验证日志文件的一致性
这是 journalctl
命令的帮助信息,提供了该命令的各种选项和命令的详细说明。
这里是一些常用的 journalctl
命令组合:
-
显示所有日志(默认情况下,从本次启动开始):
journalctl
-
实时跟踪最新日志:
journalctl -f
-
显示特定服务(例如 sshd)的日志:
journalctl -u sshd
-
显示今天的日志:
journalctl --since today
-
显示最近的 N 条日志条目(例如最近 20 条):
journalctl -n 20
-
按时间范围查看日志(例如显示昨天的日志):
journalctl --since yesterday --until now
-
查看特定时间段的日志(例如从一个星期前到现在):
journalctl --since "1 week ago" --until "3 days ago"
-
显示特定优先级(例如错误及以上级别)的日志:
journalctl -p err
-
显示内核日志(类似于 dmesg):
journalctl -k
-
反向显示日志(显示最新的条目在前):
journalctl -r
-
查看特定进程的日志(使用 PID):
journalctl _PID=1234
-
查看在特定时间间隔内变化的日志:
journalctl --interval=2s
这些命令组合涵盖了 journalctl
的多种用途