1. 程式人生 > >shell遠端執行 遠端執行指令碼

shell遠端執行 遠端執行指令碼

對於簡單的命令:
如果是簡單執行幾個命令,則
ssh [email protected] "cd /home ; ls"

指令碼如下

#!/bin/bash
for node in `cat nodelist`
do
echo "--------"$node"--------"
#ssh $node "date" > /dev/null 2>&1 
ssh $node "date;ls"  
echo done!
done
  • 基本能完成常用的對於遠端節點的管理了,幾個注意的點: 雙引號,必須有。如果不
  • 加雙引號,第二個ls命令在本地執行
  • 分號,兩個命令之間用分號隔開

登入到nodelist中的每個節點執行命令

[asc16@cu02 zjhua]$ cat nodelist
cu01
cu02
[asc16@cu02 zjhua]$ 
#!/bin/bash
for node in `cat nodelist`
do
echo $node
ssh $node  > /dev/null 2>&1 << eeooff
cd /home/asc16
hostname >>/home/asc16/zjhua/log
date >>/home/asc16/zjhua/log
exit
eeooff
echo done!
done

程執行的內容在“<< eeooff ” 至“ eeooff ”之間,在遠端機器上的操作就位於其中,注意的點:
<< eeooff,ssh後直到遇到eeooff這樣的內容結束,eeooff可以隨便修改成其他形式。
重定向目的在於不顯示遠端的輸出了
在結束前,加exit退出遠端節點