理解‘last -x’命令的输出

理解‘last -x’命令的输出

我正在尝试跟踪服务器何时重启或关闭。我使用了正常运行时间看看它已经运行了多长时间,但也使用最后-x获取服务器宕机时间的日志。输出如下:

    runlevel (to lvl 2)   2.6.26-2-686     Wed Sep 14 09:38 - 10:22  (00:43)    
    reboot   system boot  2.6.26-2-686     Wed Sep 14 09:38 - 10:22  (00:43)    
    keenan   pts/1                         Tue Sep 13 16:07 - crash  (17:31)    
    keenan   pts/1                         Tue Sep 13 15:20 - 15:21  (00:01)    
    keenan   pts/2                         Mon Sep 12 14:51 - 09:16  (18:24)

我对最后一列以及那里所代表的时间的含义感到困惑。

答案1

对于实际用户会话,括号中的时间是登录会话的持续时间(以小时和分钟为单位)。对于持续时间超过一天的会话,它将采用“d+hh:mm”格式,其中“d”是天数。

对于非用户条目,该时间实际上是系统当前的正常运行时间。将其与输出进行比较以uptime查看。来自 CentOS 5.6 系统:

$ last -x | egrep 'runlevel|reboot|shutdown'
runlevel (to lvl 3)   2.6.18-238.19.1. Thu Sep  8 11:38 - 09:15 (5+21:37)
reboot   system boot  2.6.18-238.19.1. Thu Sep  8 11:38         (5+21:37)
shutdown system down  2.6.18-238.el5   Thu Sep  8 11:37 - 09:15 (5+21:37)

$ uptime
 09:15:32 up 5 days, 21:37,  2 users,  load average: 0.23, 0.21, 0.18

答案2

系统启动时会记录重启事件。因此,就您的情况而言,您可以假设服务器在 9 月 14 日星期三 09:38 之前几分钟崩溃了。

从手册页中:

每次系统重启时,伪用户 reboot 都会登录。因此 last reboot 将显示自日志文件创建以来的所有重启日志。

答案3

我本来想傲慢地回答说你应该阅读手册页,但它们毫无用处,它们没有列出列,命令本身也没有标记它们。

我的猜测是,这取决于该人登录的时间(或服务器运行的时间),但这只是猜测。

相关内容