系统日志查询命令
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 的多种用途