如何检测是否是意外断电

如何检测是否是意外断电

我正在尝试查找/弄清楚使用 Ubuntu 16 的计算机是否意外断电。

我检查了互联网上的许多资料,查看了 /var/log 文件中的日志,但没有找到有关此类事件的任何明确迹象。

我在 Windows Hyper-V 和 Virtualbox 下运行 Ubuntu VM。作为测试,我可以关闭 VM,并且希望能够在日志中找到此事件,类似于我在 Windows 日志中所做的操作。

我知道我可以以自己的方式在关机时在脚本中编写一个文件,并在启动时查找该文件,但考虑到 Linux/Ubuntu 的成熟度,我认为应该已经有了一些东西,并试图重新发明轮子。

谢谢你的帮助。

答案1

查看文件/var/log/kern.log*,找到最新的

Jun 28 10:16:08 aardvark kernel: [    0.000000] Initializing cgroup subsys cpu 
#   Time/date   hostname  who    usec since boot

这是系统启动时记录的第一件事。/var/log/kern.log*该行之前的几行是系统关闭前记录的最后事件。如果该行上方没有错误或警告[ 0.000000],或者上次崩溃前事件与第一个启动行之间的时间间隔很长,则怀疑电源问题。需要某种形式的 UPS 或电池备份才能记录“电源已关闭”。

答案2

尝试这个:

nice sudo zgrep "recovery complete" /var/log/kern.log*

Proxmox 5(Debian 9 stretch,Linux 4.15.18)的输出示例:

/var/log/kern.log:Apr 21 18:56:16 pve kernel: [   83.475918] EXT4-fs (dm-8): recovery complete
/var/log/kern.log.1:Apr 18 18:01:39 pve kernel: [   89.627622] EXT4-fs (dm-8): recovery complete
/var/log/kern.log.3.gz:Apr  5 19:00:09 pve kernel: [   83.572224] EXT4-fs (dm-8): recovery complete

是的,情况很糟糕,因为经常意外关机,所以我不得不更换 UPS 中的电池。

相关内容