系统预计何时重启?

系统预计何时重启?

在哪里可以找到有关是否计划重启以及何时、为何和由谁重启的信息?


我在我的终端上得到了这个:

Broadcast message from root@my-server (Tue 2017-11-07 09:00:00 CET):

The system is going down for reboot at Wed 2017-11-08 02:00:00 CET!

因此,几个小时后系统将重新启动,这很好。但是工作一段时间后,如果消息滚动到不可见状态或终端关闭,则会出现以下情况:

我如何才能掌握重启时间?

如果我再次登录服务器,我只会收到以下消息:

*** System restart required ***

没有关于即将重启的信息。我尝试查看是否有任何关机进程正在运行,但找不到。

我知道我可以通过发出这样的命令来生成类似的消息:

sudo shutdown -r 02:00

那么,如何找到有关即将重启的信息?

答案1

在 Ubuntu 18.04 上,机器关机由 管理systemd。在我的计算机上,我已通过无人值守升级启用自动重启:

$ grep Automatic-Reboot /etc/apt/apt.conf.d/50unattended-upgrades
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "02:00";

预定的自动重启时间存储在 中/run/systemd/shutdown/scheduled

$ cat /run/systemd/shutdown/scheduled
USEC=1563976800000000 
WARN_WALL=1
MODE=reboot

您可以使用以下命令将其转换为人类可读的时间:

$ date -d "@$( awk -F '=' '/USEC/{ $2=substr($2,1,10); print $2 }' /run/systemd/shutdown/scheduled )"
Thu Jul 25 02:00:00 NZST 2019

答案2

一开始sudo shutdown -r 02:00它不是一个文件/设置/系统变量/crontab 条目。这shutdown是一个进程,如果它仍处于待处理状态,您应该会看到它。

$ ps -ef | grep shutdown
root      3155  2941  0 12:04 pts/4    00:00:00 sudo shutdown -r 02:00
root      3156  3155  0 12:04 pts/4    00:00:00 shutdown -r 02:00
esa       3158  2937  0 12:04 pts/3    00:00:00 grep shutdown

如果使用外部命令sudo shutdown -c或按 取消^Cpts/4则该过程将显示一条消息Shutdown cancelled.并退出。因此,如果它不存在:

  • 有人在收到消息后取消了关机。
  • 消息生成时显示shutdown -k(并不真正关闭;仅向所有人发送警告消息。在某些版本中,这还会阻止新登录。)
  • 您正在ps使用一个看不到其他用户进程的用户帐户运行。

答案3

在我的 Ubuntu 机器上,登录时显示“需要重启”消息来自 的文件/var/run/reboot-required。此文件在更新/重启过程中被删除。

Unattended-Upgrade::Automatic-Reboot-Time重启时间在文件中设置/etc/apt/apt.conf.d/50unattended-upgrades

正如 Esa 所述,广播消息很可能是由其他正在执行的程序生成的shutdown -k,该程序只会打印消息并退出。我也观察了广播消息,但之后sudo ps faux没有显示shutdown正在运行的进程。

值得注意的是,即使没有shutdown进程继续运行,某些东西似乎确实会跟踪最初安排的关机时间。即使我更改了重启时间的值,后续广播消息仍会显示最初配置的时间。

相关内容