2

我的要求是我必须同时重启两台服务器(完全相同的时间戳)。所以我的计划是创建两个 shell 脚本,它们将通过 ssh 连接到服务器并触发重启。我的疑问是

  • 如何同时在两台服务器上运行相同的 shell 脚本。(相同的时间戳)
  • 即使我运行 Script1 &; 脚本 2。这并不能确保同时发出reboot,会有微小的时差。
4

2 回答 2

1

如果您是远程执行此操作,则可以使用带有广播输入的终端仿真器,以便将您键入的内容发送到打开终端的所有会话。在 Linux 上, tmux就是这样一种模拟器。

另一种最简单的方法是编写一个 shell 脚本,它在两台机器上等待相同的时间戳,然后都重新启动。

于 2013-11-07T08:09:43.860 回答
0
  • 首先,确保两台机器的时间是一致的(使用http://en.wikipedia.org/wiki/Network_Time_Protocol和系统相关实用程序的最佳实现)。
  • 然后,

    • 如果您只需要一次:在每台服务器上执行一次
      echo /path/to/your/script | at ....
      ....在您需要时执行。请参阅man at)。

    • 如果您需要多次执行:使用crontab代替at
      (请参阅man cronman crontab

于 2013-11-07T09:59:51.880 回答