簡體   English   中英

如何在兩個不同的UNIX服務器上完全同時運行兩個命令?

[英]How can i run two commands exactly at same time on two different unix servers?

我的要求是我必須同時(完全相同的時間戳)重新啟動兩台服務器。 所以我的計划是創建兩個shell腳本,這些腳本將SSH到服務器並觸發重新啟動。 我的疑問是

  • 如何在兩個服務器上同時運行相同的Shell腳本。 (相同的時間戳記)
  • 即使我運行Script1&; SCRIPT2。 這將無法確保將在同一時間發出重新引導信息,但會存在微小的時差。

如果要遠程執行操作,則可以使用帶有廣播輸入的終端仿真器,以便將鍵入的內容發送到打開的終端的所有會話中。 在Linux上, tmux是一種這樣的模擬器。

另一種最簡單的方法是編寫一個shell腳本,該腳本在兩台計算機上等待相同的時間戳,然后都重新啟動。

  • 首先,確保兩台機器的時間一致(使用http://en.wikipedia.org/wiki/Network_Time_Protocol的最佳實現以及系統的相關實用程序)。
  • 然后,

    • 如果您僅需要一次:在每台服務器上執行一次
      echo /path/to/your/script | at ....
      ....在您需要時。 man atman at )。

    • 如果需要多次執行:使用crontab而不是at
      (請參閱man cronman crontab

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM