shell遠端執行 遠端執行指令碼
阿新 • • 發佈:2018-12-31
對於簡單的命令:
如果是簡單執行幾個命令,則
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退出遠端節點