linux遠程執行批量命令

前提條件:

  配置ssh免密碼登錄bash

對於簡單的命令:

  若是是簡單執行幾個命令,則:ssh

ssh user@remoteNode "cd /home ; ls"

基本能完成經常使用的對於遠程節點的管理了,幾個注意的點:spa

  1. 雙引號,必須有。若是不加雙引號,第二個ls命令在本地執行
  2. 分號,兩個命令之間用分號隔開

對於腳本的方式:

  有些遠程執行的命令內容較多,單一命令沒法完成,考慮腳本方式實現:code

#!/bin/bash
ssh user@remoteNode > /dev/null 2>&1 << eeooff
cd /home
touch abcdefg.txt
exit
eeooff
echo done!

遠程執行的內容在「<< eeooff 」 至「 eeooff 」之間,在遠程機器上的操做就位於其中,注意的點:rem

  1. << eeooff,ssh後直到遇到eeooff這樣的內容結束,eeooff能夠隨便修改爲其餘形式,如aaa,remotessh等。
  2. /dev/null 2>&1目的在於不顯示遠程的輸出了
  3. 在結束前,加exit退出遠程節點
  4. eeooff 必須以<<開頭,而且結束時要定格,不能有空格和佔位符。
相關文章
相關標籤/搜索