2016-10-22 26 views
0

我有10個服務器,我使用跳轉框訪問它們。我編寫了一個腳本,用於在每臺服務器上啓動服務。當我執行該腳本時,它只能在一臺服務器上運行,在按下Ctrl+C之後,它將在下一臺服務器上執行,等等。我想在不按Ctrl+C的情況下在所有服務器上運行它。腳本不能在Linux中同時執行

這是我的腳本:

#!/bin/bash 
for i in `cat /etc/hosts | grep prod | awk '{print $2}'` ; 
do 
ssh $i "hostname && sudo service name start" 
done; 
+1

確保允許您的用戶在不輸入密碼的情況下執行'sudo服務名稱start'。 – Cyrus

+0

@Cyrus是沒有問題與sudo –

+0

我想你的服務腳本中有輸出重定向的問題。 – Cyrus

回答

1

使用&派生新進程。

#!/bin/bash 
for i in `cat /etc/hosts | grep prod | awk '{print $2}'` ; 
do 
ssh $i "hostname && sudo service name start" & 
done;