我有一個我可以通過SSH連接的40個服務器的列表。我想要做的是登錄到他們每個人,並創建一個目錄,並將我的機器上的一個文件複製到所有40臺服務器機器上。我編寫了這段代碼,但它只是打開一個窗口並關閉它。多個SSH到遠程服務器+多個遠程命令
#!/bin/bash
filename="$1"
while read -r line
do
name=$line
gnome-terminal -e "ssh -t -t [email protected]$name -i ~/.ssh/id_rsa && mkdir test && scp client_google.py [email protected]$name:/home/xyz/test"
#sleep 5s
echo "Name read from file - $name"
done < "/home/papps/nodes.txt"
Nodes.txt包含服務器的40個IP地址列表。
注意:在上面提到的代碼中,我收到警告,指出身份文件不可用(id_rsa)。請幫忙,我哪裏錯了?謝謝。
你爲什麼使用'gnome-terminal'?而且你沒有在遠程機器上運行'mkdir'。 – Biffen 2015-03-31 09:11:44
gnome-terminal打開新窗口(不是必需的?) 是的,我知道mkdir在我的代碼中沒有意義,但我該如何糾正? – Papps 2015-03-31 09:30:33
如果您確實需要新窗口,請繼續。但它當然沒有必要。 'ssh xyz @ $ name mkdir test'應該足夠了。 – Biffen 2015-03-31 09:40:28