是否有记录 Linux 关机的日志?

Mic*_*ael 47 linux

我想知道Linux中是否有一个日志文件,每次关闭计算机时都会进行记录?

我问的原因是我正在做一些测试,涉及我的笔记本电脑电池在某些条件下的持续时间。我的笔记本电脑配置为在电池电量剩余约 10 分钟时自动关闭,因此如果某处有日志文件记录计算机关闭时的情况,这将使我的测试更容易。

我正在运行 Ubuntu 10.04。谢谢!

Jan*_*nen 33

命令last -x shutdown呢?


小智 19

/var/log/messages文件确实应该包含与关闭相关的内容,例如我的(CentOS 5)有这样的行:

Jul 18 23:00:13 nero shutdown[2649]: shutting down for system halt
...
Jul 18 23:00:27 nero kernel: Kernel logging (proc) stopped.
Jul 18 23:00:27 nero kernel: Kernel log daemon terminating.
Run Code Online (Sandbox Code Playgroud)

检查您的/etc/syslog.conf/etc/rsyslog.conf等效的以确保日志在那里。您可能需要 root 权限才能读取日志文件。

此外,虽然它本身不是关机,但“last”命令应该报告重新启动。

您上次关机前后的日志中真的没有任何内容吗?

对于您的测试,请记住,由于电池报告的信息可能准确,也可能不准确,因此您的计算机只知道还剩 10 分钟。您可以直接查看 ACPI 信息,而不是等待关机。在我的笔记本电脑上,它在这里:

/proc/acpi/battery/BAT0/
Run Code Online (Sandbox Code Playgroud)

在那里,“状态”和“信息”文件看起来很有趣。您可以在各种条件下运行笔记本电脑时查看状态文件中的剩余容量,以了解它下降的速度。

  • 除非我遗漏了它,否则我在 /var/log/messages 中看不到任何类型的“关闭”消息。有时会出现消息“内核日志记录 (proc) 停止”,但并非总是如此。但是,运行 `last -x` 是有效的。此命令显示如下所示的行:`shutdown system down 2.6.32-23-generi Sun Jul 25 09:12 - 19:00 (-14815+-13:` 感谢您提供电池信息提示。我的系统也有这个,所以我必须检查一下!似乎每 5 秒左右更新一次这些文件。谢谢! (3认同)

小智 7

首先,让我先说我知道这是一个较旧的线程。我只是发表评论,以便其他在网上搜索时发现这一点的人(就像我今天所做的那样)会有一个明确的答案。

其次,请注意以下命令是不好的做法,属于“猫的无用用途”(谷歌搜索)类别...

cat /var/log/messages | grep "`LC_ALL=en_en.utf8 date +"%b %e"`"
Run Code Online (Sandbox Code Playgroud)

该行应更改为:

grep "`LC_ALL=en_en.utf8 date +"%b %e"`" /var/log/messages
Run Code Online (Sandbox Code Playgroud)

grep 和大多数 unix/linux 命令(sed、awk 等)不需要 cat 读取文件内容。将文件路径和名称放在命令后面以将其作为参数传递就足够了。添加管道和另一个外部命令 (cat) 只是浪费时间和资源。

最后,至于在哪里可以找到系统关闭和/或重新启动的记录,请使用最后一个命令,因为这正是它的用途。它读取所有登录/注销条目的 /var/log/wtmp 日志文件。因为关机和重启实际上是系统级别的登录/注销事件,所以记录在这里。这同样适用于 root 控制台关闭,它是一个注销事件。

例子:

last -5 reboot shutdown root
Run Code Online (Sandbox Code Playgroud)

这将为您提供 wtmp 日志中的最后 5 个重新启动、关闭和 root(包括控制台关闭)条目。

结果:

reboot    ~                         Mon Mar 23 14:51
shutdown  ~                         Mon Mar 23 14:49
root      console                   Mon Mar 23 14:49 - shutdown  (00:00)
reboot    ~                         Mon Mar 16 09:54
shutdown  ~                         Thu Mar 12 17:41
Run Code Online (Sandbox Code Playgroud)

我希望这可以帮助任何偶然发现这个线程的人。:-)

  • 每个提到“ cat 的无用使用”的人可能花费更多的时间来指出这个事实,而不是地球上所有计算机在 cat 无用使用上花费的总 CPU 时间(有时他们不必要地膨胀他们本来不错的答案作为副作用 - - 像这个) (2认同)