我们有RHEL服务器版本7.2,我们注意到以前会话中的dmesg文件没有在/var/log下创建
我们在/var/log下所拥有的只是
ls -ltr | grep dmesg
-rw-r--r-- 1 root root 123011 Jan 3 04:03 dmesg取而代之的是:
-rw-r--r-- 1 root root 123011 Jan 3 04:03 dmesg.0
-rw-r--r-- 1 root root 123011 Jan 2 04:03 dmesg.1
-rw-r--r-- 1 root root 123011 Jan 1 04:03 dmesg.2
.
.
.支持在备份文件中保存旧内核消息的配置是什么?
发布于 2021-08-31 09:44:34
我不确定下面的解决方案是否解决了您的问题,因为这看起来太简单了(考虑到您的代表)。但现在我们开始:
如果Storage=auto在/etc/systemd/journald.conf中(这是我所见过的大多数安装中的默认设置),则只需创建目录/var/log/journal即可。在这种情况下,如果存在日志,systemd-journald会将日志存储在该目录中,但如果不存在,则只将日志存储在内存中(当然,关闭时也会忘记这些日志)。创建目录后,应该执行systemd-tmpfiles --create --prefix /var/log/journal并重新启动systemd-journald。
您可能可以将systemd-journald配置为为日志文件使用另一个位置,但这超出了我(当前)的知识范围(我从来不需要这样做,因此没有研究必要的步骤)。
如果Storage=persistent在/etc/systemd/journald.conf中,则应在需要时自动创建/var/log/journal。
为了完整起见,Storage=volatile意味着日志数据将只存储在内存中(在关闭时会被遗忘),而Storage=none则会完全阻止任何存储。如果您想查看以前引导时的日志,就必须避免这两种情况。
所有这些设置在man journald.conf中都有很好的解释。
请注意,上面概述的解决方案与systemd有关,因此适合OP,因为RHEL7.2基于systemd。
如果您坚持备份旧的引导日志(尽管您已经可以使用标准配置查看它们),那么只需发出journalctl -b <N> > demsg.<N>,例如journalctl -b 1 > dmesg.1,将最古老的已记录的引导日志保存到dmesg.1文件中。
因此,对您的问题(启用在备份文件中保存旧内核消息的配置是什么)的答案是:
dmesg文件的配置设置。dmesg文件,并让它在每次启动后或每次关闭之前运行。不幸的是,这个解决方案不适合花了奖金的人:它不适用于OpenRC,因为OpenRC不是基于systemd (如果我正确的话)。在OpenRC中,可能有其他方法来解决这个问题,但是由于我从未听说过它,我无法帮助它。
https://gist.github.com/JPvRiel/b7c185833da32631fa6ce65b40836887
https://unix.stackexchange.com/questions/627308
复制相似问题