如何确定Linux突然关机的时间?

如何确定Linux突然关机的时间?

Linux 中是否有什么东西会相对频繁地(例如每小时)持续登录?这样我就可以估计断电期间 Synology NAS 突然关闭的时间。NAS 使用的是 GNU/Linux 发行版 - DiskStation Manager,它是经过大量定制的 Debian fork(如果我没记错的话),但在这种情况下可能有一些通用且有用的东西。

答案1

我无法代表 Synology 回复。但 Linux 发行版通常会使用默认配置安装 syslogd/rsyslogd,并在其中插入如下行/var/log/messages

Oct 11 23:58:48 harpe pppd[17995]: Exit.
Oct 12 00:16:08 harpe -- MARK --
Oct 12 00:36:08 harpe -- MARK --
Oct 12 00:56:08 harpe -- MARK --
Oct 12 01:16:08 harpe -- MARK --
Oct 12 01:36:08 harpe -- MARK --
Oct 12 01:56:08 harpe -- MARK --
Oct 12 02:16:08 harpe -- MARK --

因此,日志条目之间的时间间隔至少应为 20 分钟。

我真傻,我忘记了显而易见的答案:根据您的journalctl配置,该命令可能会记住启动次数,以及关机时间(即使在计划外强制关机的情况下):

journalctl --list-boots
 -3 ecfdfe641836413e8a6e5485e897fb09 Sun 2020-09-20 10:51:13 CEST—Thu 2020-10-01 12:59:33 CEST
 -2 940f4faaa25942d18315ea6534f76c5e Thu 2020-10-01 13:00:07 CEST—Tue 2020-10-13 10:46:14 CEST
 -1 9ad55bd7ab9a488fb76ace33915169cf Tue 2020-10-13 10:55:55 CEST—Wed 2020-10-14 10:26:12 CEST
  0 785a86203ec042dbb6ad8959166b0584 Wed 2020-10-14 10:34:26 CEST—Thu 2020-10-15 19:34:39 CEST

答案2

您的 Synology 是基于 Linux 的系统。我不记得是哪一个了,但那并不重要。

对于该 Linux 系统或任何 Linux 系统,您都希望查看 Linux 中某些可靠服务的日期和时间。最可靠的可能是审计但是您必须配置并运行该程序。如果是,那么您需要查看/var/log/audit/audit.log并确定时间间隔,然后是开机时发生的预期消息序列。这就是定义意外关机的情况。

对于 Synology 来说,虽然基于 Linux,但是 Synology 人员决定配置他们的 DSM(磁盘站管理器)操作系统,而这实际上只不过是他们如何配置 Linux 以按照他们想要的方式运行,并将所有软件堆放在 [debian] Linux 之上。

在任何 Linux 中,另一个最有可能使用的东西是/var/log/messages。我不知道有谁配置了合理的 Linux 发行版,而消息文件未在使用中。在这里,您每分钟会看到很多项目,因此应该很容易和明显地识别出一个时间间隔,然后是该文件中通常显示的开机信息。

Synology DSM 的控制面板中有很多有用的功能,它会显示断电发生的日期和时间。我有好几个这样的控制面板,而且它们的信息日志清楚地表明设备何时正常断电或电源线何时被拔掉。我猜 Synology 的 DSM 会解析 audit.log 或消息来做出判断。

答案3

为什么关机信息不会出现在

/var/log/messages

last当它下降时也会显示。

我会等待它再次出现,并查看之前的日志。

相关内容