不同的命令对于显示上次重启有不同的看法。谁是对的?
# uptime
10:05:31 up 90 days, 12:59, 2 users, load average: 0.04, 0.02, 0.00
# who -b
system boot 2018-11-22 21:05
# last reboot
wtmp begins Sat Feb 2 01:59:42 2019
答案1
它们都是正确的。
uptime
显示系统已运行90天零几个小时。who -b
说系统是在 2018-11-22 21:05 启动的。90 天零几个小时前。last reboot
表示 wtmp 日志文件于 2019 年 2 月 2 日星期六 01:59:42 滚动或截断,因此它不包含重启记录。
答案2
该uptime
命令会告诉您当前时间,然后是系统运行的时间长度。在您的示例中,这显示系统已运行 90 天 12 小时 59 分钟。
who -b
给出的日期和时间与相同的启动时间相对应。两者之间只有几秒的差别,我推测这是命令之间的时间。
该last reboot
命令使用该/var/log/wtmp
文件来确定上次启动。此日志文件自上次启动以来已轮换,因此不包含有关上次启动的信息。可能存在旧版本的 wtmp,例如/var/log/wtmp.1
您也可以使用以下命令进行查询:
last reboot -f /var/log/wtmp.1
不幸的是,由于时间框架的原因,它不太可能包含您上次重启的详细信息。