我在一台 ubuntu 服务器上工作,这台服务器位于一个我不常去的地方。我使用 ssh 通过 openvpn 访问它。这台机器有多个有线接口、许多静态路由和多个到 WAN 的默认网关。我经常更改接口地址和路由。大多数时候我做的更改都是暂时的——重新启动会重置我所做的实验。在某些情况下,其中一些修改出错了,机器已经离线。在这种情况下,我不得不打电话给服务器所在位置的某个人,让机器重新启动。
现在我想安排一次重启——假设 2 小时后机器应该进入重启周期。在这两个小时内我可以做任何我想做的临时实验。如果所有临时更改都成功,那么我应该能够阻止“2 小时后”重启的发生。所以我想要的是:
- 如何告诉服务器在一定时间后重新启动?
- 如果我决定机器不应该重新启动,我应该能够取消它。
答案1
您还可以使用at
来安排重启。例如,sudo at 22:00
以 root 身份在 22:00 运行该命令。然后输入要运行的命令:/sbin/shutdown -r now
并以 结尾ctrl-d
。如果您决定不运行此命令,请运行sudo atrm 1
以删除队列中的第一个命令at
。使用sudo atq
您可以看到队列。
答案2
在终端类型上shutdown -r 10 Waiting 10 minutes before the restart&
输入将使服务器在 10 分钟内重新启动的消息,广播一条解释该消息的消息,然后按 control+c 将中断重新启动请求。
在终端上输入shutdown -r 18:00 Rebooting at 18:00 hours&
将使服务器在 18:00 重新启动,并广播一条解释该情况的消息,可以使用 control+c 中断。
您还可以使用 中断“工作”终端上的任何关机/重启请求shutdown -a
。