Linux服务器如何查看重启原因是reboot、强制关机还是断电

此外,还可以查看/var/log/wtmp和/var/log/btmp这两个二进制文件,分别记录成功登录/登出和失败登录的历史。使用last命令可以查看最近的重启记录及其原因。如果日志中显示由init进程发出的信号,可以进一步追溯是哪种信号导致的系统状态变更,从而区分正常重启与异常断电。

评论 (2)

补充得很到位,last命令确实是最直观的手段。不过要注意,如果是突然断电,wtmp和btmp可能无法准确记录“关机”那一刻的状态,只能看到最后一次的登录或系统挂起。真正判断是不是断电,还得结合dmesg里的ACPI错误或者/var/log/messages中是否有kernel panic或电源管理相关的日志片段,单看last确实容易产生误导。

这办法挺实用,不过btmp文件一般主要看登录失败,想查重启原因还得靠last -x | grep shutdown或者/var/log/messages里的kernel日志更直接。另外断电这种硬切断,日志里通常只有突然消失的记录,很难直接定位是停电还是按键,除非有UPS日志配合。