一、日志查询
1.输出所有日志或按相关要求输出
- 输出所有日志
#journalctl - 查看实时日志
#journalctl -f - 查看最后n行
#journalctl -n 10 - 不分页显示
#journalctl --no-pager - 适合阅读模式
#journalctl -p 3 -o json-pretty
- 查看内核日志
#journalctl -k
2.按服务查询
#journalctl -u 服务名
如:journalctl -u logrotate
3.按时间查询
- 查看2024年6月1日12:10之后的日志
#journalctl --since “2024-06-01 12:10:00”
- 查看2024年6月1日12:10到13:10的日志
#journalctl --since “2024-06-01 12:10:00” --until “2024-06-01 13:10:00”
- 获取昨天的日志
#journalctl --since yesterday
- 9点10分到3小时后的日志
#journalctl --since 9:10 --until “3 hour ago”
二、清理日志
1.查看占据磁盘空间
#journalctl --disk-usage
2.清理日志
- 按大小清理
如:保留最新的200M日志
#journalctl --vacuum-size=200M
-
按时间清理
如:清理1月之前的日志
#journalctl --vacuum-time=1months
再查看占据磁盘空间:
三、限制大小
配制文件:/etc/systemd/journald.conf
说明:
1) 以 “System” 开头的选项用于限制磁盘使用量
也就是 /var/log/journal 的使用量。仅在 /var/log/journal 目录确实存在且可写时才有意义。
2) 以 “Runtime” 开头的选项用于限制内存使用量, 也就是 /run/log/journal 的使用量。
3)journalctl 与 systemd-journald 工具会忽略日志目录中 所有后缀名不等于 “.journal” 或 “.journal~” 的文件, 其他文件 永远不会被清理。 -
SystemMaxUse=
作用:持久存储占用磁盘大小限制
默认:默认值是10%空间与4G空间两者中的较小者; -
SystemKeepFree=
作用:添加新条目时需要保留的磁盘剩余空间
默认:默认值是15%空间与4G空间两者中的较大者; -
SystemMaxFileSize=
作用:限制单个日志文件的最大体积(到达此限制后日志文件将会自动滚动)
默认: SystemMaxUse 值的1/8; -
RuntimeMaxUse=
作用:占用内存大小限制(/run文件系统之内)
默认:默认值是10%空间与4G空间两者中的较小者; -
RuntimeKeepFree=
作用:内存保留的剩余空间
默认:默认值是15%空间与4G空间两者中的较大者; -
RuntimeMaxFileSize=
作用:限制单个日志文件占用的内存大小(/run文件系统之内)
-
重启生效