根据这个网页的标题,“Linux 查找上次系统重启时间和日期命令”我可以last reboot | head -1
查看系统上次重启的时间。我得到的输出与它们提供的输出类似:
reboot system boot 3.13.0-116-gener Thu Apr 13 14:12 - 20:09 (05:56)
我的问题是这14:12 - 20:09
部分是什么意思?这是否意味着系统在下午 2:12 开始重启过程并在晚上 8:09 结束?因为在我看来这不太可能。
答案1
答案2
这意味着系统于 启动14:12
并于 关机20:09
,总运行时间为5:56
。
总结
如果它是最近的条目,如问题中所示| head -1
,关机时间是当前系统时间,而正常运行时间反映系统当前运行了多长时间。日志中所有剩余的行,显示(如果您不使用head
限制输出),显示从给定日期和时间开始的系统实际关机时间和正常运行时间。
例如,在我的系统上last reboot | head -6
给出:
reboot system boot 4.4.46-11-defaul Mon Apr 10 19:58 - 04:00 (5+08:00)
reboot system boot 4.4.46-11-defaul Sat Apr 8 17:22 - 08:19 (1+14:56)
reboot system boot 4.4.46-11-defaul Sat Apr 8 00:15 - 11:06 (10:51)
reboot system boot 4.4.46-11-defaul Thu Apr 6 18:46 - 00:04 (1+05:18)
reboot system boot 4.4.46-11-defaul Wed Apr 5 17:43 - 11:30 (17:46)
reboot system boot 4.4.46-11-defaul Tue Apr 4 21:36 - 09:36 (12:00)
这转化为以下序列,反转顺序:
Booted Shut Down System up for
------------ ------------ -------------
Apr 4 21:36 Apr 5 09:36 12:00
Apr 5 17:43 Apr 6 11:30 17:46
Apr 6 18:46 Apr 8 00:04 1 day 05:18
Apr 8 00:15 Apr 8 11:06 10:51
Apr 8 17:22 Apr 10 08:19 1 day 14:56
Apr 10 19:58 Still running 5 days 08:00 (so far)
第一行是最近一次启动,直到系统真正关闭时才会确定其关机时间。相反,它会在每次运行命令时显示当前时间last reboot
。
所以你说的对,重启过程不太可能开始下午 2:12 开始,晚上 8:09 结束如果真是这样,那么是时候对您的系统进行一些认真的工作了!该输出并未反映重新启动过程所花费的时间,而是系统自启动以来运行了多长时间。该last
命令不会直接提供该信息。但是,它确实提供了一些条目,可以帮助您大致了解该过程需要多长时间。
为此,您需要包含-x
将系统runlevel
和shutdown
条目添加到输出的选项。要过滤输出,请同时查找reboot
伪用户和runlevel
伪用户。要将last
秒数添加到报告的时间,请使用选项-F
,该选项将时间条目扩展为完整的日期和时间,包括秒数。此外,每个启动过程将有两个条目,而不是一个,因此您需要将传递给命令的数字加倍head
;如果我想要最后 6 次重启,如上所述,我需要使用-12
这个时间。
执行结果last -xF reboot runlevel | head -12
为:
runlevel (to lvl 5) 4.4.46-11-defaul Mon Apr 10 19:59:57 2017 - Sun Apr 16 04:00:28 2017 (5+08:00)
reboot system boot 4.4.46-11-defaul Mon Apr 10 19:58:40 2017 - Sun Apr 16 04:00:28 2017 (5+08:01)
runlevel (to lvl 5) 4.4.46-11-defaul Sat Apr 8 17:23:57 2017 - Mon Apr 10 08:19:12 2017 (1+14:55)
reboot system boot 4.4.46-11-defaul Sat Apr 8 17:22:39 2017 - Mon Apr 10 08:19:12 2017 (1+14:56)
runlevel (to lvl 5) 4.4.46-11-defaul Sat Apr 8 00:16:16 2017 - Sat Apr 8 11:06:55 2017 (10:50)
reboot system boot 4.4.46-11-defaul Sat Apr 8 00:15:02 2017 - Sat Apr 8 11:06:55 2017 (10:51)
runlevel (to lvl 5) 4.4.46-11-defaul Thu Apr 6 18:47:55 2017 - Sat Apr 8 00:04:46 2017 (1+05:16)
reboot system boot 4.4.46-11-defaul Thu Apr 6 18:46:43 2017 - Sat Apr 8 00:04:46 2017 (1+05:18)
runlevel (to lvl 5) 4.4.46-11-defaul Wed Apr 5 17:44:46 2017 - Thu Apr 6 11:30:26 2017 (17:45)
reboot system boot 4.4.46-11-defaul Wed Apr 5 17:43:40 2017 - Thu Apr 6 11:30:26 2017 (17:46)
runlevel (to lvl 5) 4.4.46-11-defaul Tue Apr 4 21:37:25 2017 - Wed Apr 5 09:36:34 2017 (11:59)
reboot system boot 4.4.46-11-defaul Tue Apr 4 21:36:13 2017 - Wed Apr 5 09:36:34 2017 (12:00)
通过从系统每次重启时达到运行级别 5 的时间中减去重启时间,我得到的平均时间接近 1 分 15 秒。请记住,这是不是从开机到运行级别 5 需要多长时间。这是 Linux 在获得系统控制权后达到运行级别 5 所需的时间。其中不包括 POST 和 BIOS 检查的时间。要查找那你需要一个与系统时间相匹配的时钟确切地并记录您按下电源按钮的时间,并将其与 中报告的启动过程开始时间进行比较last
。差异在于计算机到达将控制权交给 Linux 的点所需的时间。
我承认我不知道记录的时间到底对应引导过程中的哪个点。可能是引导加载程序(可能是 GRUB)启动时,也可能是 GRUB 调用加载的内核时,甚至是加载内核并开始加载其他所有内容时。仅凭我的猜测,就表明是调用 GRUB 时。我的 GRUB 菜单有短暂的延迟,因为我几乎总是引导到同一个系统,如果我要引导到其他系统,我会等待它。不过,我经常等待 GRUB 加载,并且通常Enter在延迟到期之前按下。这可以解释从引导到运行级别 5 的最短和最长时间之间的六秒差异。当然,这是仅有的这是我的猜测。
答案3
上次重启-F
重启系统启动 3.10.0-862.el7.x 2019 年 9 月 18 日星期三 15:42:34 - 2019 年 9 月 19 日星期四 07:24:31(15:41)
在此示例中:
==> 2019 年 9 月 18 日 15:42:34 ==> 此部分是上次系统重启的日期和时间。
==> 2019 年 9 月 19 日星期四 07:24:31 ==> 此部分是系统当前的日期和时间。
==> 最后部分“(15:41)”==> 是从重启到当前日期和时间的时间长度。
答案4
强文本重启是用户发起的还是系统发起的:
$ last reboot
reboot system boot 4.15.0-120-gener Tue Oct 20 16:15 still running
reboot system boot 4.15.0-120-gener Tue Oct 20 14:56 still running