linux shell執行遠端電腦上的命令或者指令碼(ssh)

來源:互聯網
上載者:User

標籤:style   blog   ar   color   sp   strong   資料   on   div   

 

  大資料平台下經常建立設計多個節點的叢集需要統一部署,這就設計到守護進程或者部署指令碼在不同節點執行,如果能在master機器上,統一執行指令碼,一次性啟動整個叢集的服務,感覺很nice。因為,分享如下內容:

前提條件:

  配置ssh免密碼登陸

對於簡單的命令:

  如果是在遠端節點執行幾個命令,則:

ssh [email protected] "cd /home ; ls"

  注意點:

  1. 雙引號,必須有。如果不加雙引號,第二個ls命令在本地執行
  2. 分號,兩個命令之間用分號隔開
對於遠端執行指令碼的方式:

  有些遠程執行的命令內容較多,單一命令無法完成,考慮指令碼方式實現:

#!/bin/bashssh [email protected] > /dev/null 2>&1 << eeoocd /hometouch abcdefg.txtexiteeooecho done!

 

 

  遠程執行的內容在“<< eeoo ” 至“ eeoo”之間,在遠程機器上的操作就位於其中,注意的點:

  1. << eeoo,ssh後直到遇到eeoo這樣的內容結束,eeoo可以隨便修改成其他形式。
  2. 重新導向目的在於不顯示遠端輸出了
  3. 在結束前,加exit退出遠程節點

 本人範例程式碼:

#!/bin/bashsource /home/config.sh/home/start-XXX.py echo node local ok
#kill process no neededps x | grep ‘XXX‘ | grep -v grep | awk ‘{print $1}‘| xargs -l kill -9ssh root@XXX141 > /dev/null 2>&1 << eeooffsource /home/config.sh/home/start-xxx.pyexiteeooffecho xxx141 done!
ssh [email protected] > /dev/null 2>&1 << eeooffsource /home/config.sh/home/start-xxx.pyexiteeooffecho xxx142 done!
 

linux shell執行遠端電腦上的命令或者指令碼(ssh)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.