安排远程Ubuntu服务器上的重启


17

我在通常不去的地方的ubuntu服务器上工作。我在openvpn上使用ssh来访问它。该计算机具有多个有线接口,许多静态路由和到WAN的多个默认网关。我经常更改接口地址和路由。在大多数情况下,我所做的更改都是暂时的-重新启动会重置我所做的实验。在某些情况下,其中一些修改有误,并且计算机已脱机。在这种情况下,我必须在服务器所在的地方打电话给某人,以使计算机重新启动。

现在,我想安排一次重新启动-假设两小时后机器应进入重新启动周期。在这两个小时内,我可以做任何我想做的临时实验。如果所有临时更改都成功了,那么我应该能够防止“ 2小时后”重启。所以我想要的是:

  1. 如何告知服务器在经过一定时间后重新启动?
  2. 如果我决定不重启计算机,则应该可以将其取消。

Answers:


14

shutdown -r 10 Waiting 10 minutes before the restart&将使服务器在10分钟内重新启动的终端类型上,广播一条消息,说明该问题,然后按Ctrl + c将中断重新启动请求。

shutdown -r 18:00 Rebooting at 18:00 hours&将使服务器在18:00时重新引导的终端类型上,将广播一条消息解释该问题,并且可以通过control + c中断。

您也可以使用在“工作”终端上中断所有关机/重启请求shutdown -a


2
这有点问题,因为它是交互式的,会阻塞您正在运行的外壳。如果会话断开,我不确定这是否可以通过SSH正常运行。
阿兰·奥德

我找不到任何组合,nohup并且sudo如果以普通管理员组用户的身份从正常的ssh会话运行,它将使此工作正常进行。
HDave 2013年

是否可以将其与Screen结合使用以允许应用该命令并删除ssh会话?
安迪·戴维斯

30

您还可以at用来计划重新启动。例如sudo at 22:00,以root身份在22:00运行命令。然后输入您要运行的命令:/sbin/shutdown -r now并以结尾ctrl-d。如果您决定不运行此命令,请运行sudo atrm 1以删除at队列中的第一个命令。与sudo atq您一起可以看到队列。


这个解决方案是完美的!
Sukima 2013年

5
这应该标记为正确答案!该at命令的家庭是每个服务器管理员应该知道。
HDave 2013年

2
如果您是新手at,请首先执行sudo at 22:00。这将带您进入一种外壳。然后输入命令,然后ctrl-d退出。另请参见mixeduperic.com/ubuntu/…–
蒂姆·理查森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.