如何使用 systemd 查看以前的日志?

如何使用 systemd 查看以前的日志?

我有一个正在运行的用户单元,但当前出现故障。我想知道它什么时候开始失败,所以我检查它的日志与

journalctl --user -u pycardsyncer.service

然而,这只是给我过去四个小时的日志。有没有办法获取之前的日志?

此外,我有时会看到以下日志:

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.

这些都被“轮换”到哪里了?

答案1

根据man journalctl journalctl所创建的日志文件的读取systemd-journald.service

根据man systemd-journald.service配置文件所在的位置,如果/etc/systemd/journald.conf日志文件/var/log/journal/[machine-id]/*.journal存在,则将其放置在 ,否则将它们放置在/run/log/journal/[machine-id]/*.journal.

这些对您来说似乎是相关文件。在我的机器上,日志文件位于/run/log/journal/[machine-id]/*.journal

如果日志文件轮换过于频繁,则可能是SystemMaxUse或 的RuntimeMaxUse值太低/etc/systemd/journald.confjournald一旦文件达到此处定义的大小,将旋转文件。即使处于默认状态,默认大小也是基于您的硬盘容量的,并且可能会出现问题。

相关内容