如何在两个不同的unix服务器上同时运行两个命令?

时间:2013-11-07 08:05:47

标签: shell unix

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

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

  • 首先,确保两台机器的时间一致(使用http://en.wikipedia.org/wiki/Network_Time_Protocol的最佳实施方式和系统的相关实用程序)。
  • 然后,

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

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