如果您維護(hù)多個Linux服務(wù)器,則有時您希望在所有服務(wù)器上運(yùn)行相同的命令。例如,您可能希望安裝/升級軟件包,修補(bǔ)內(nèi)核以及更新配置等。如果您必須登錄到每個服務(wù)器并手動運(yùn)行相同的命令,那將是一項(xiàng)繁瑣的工作。
站在用戶的角度思考問題,與客戶深入溝通,找到蓮都網(wǎng)站設(shè)計(jì)與蓮都網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、申請域名、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋蓮都地區(qū)。
這篇文章是關(guān)于一個管理工具,它允許您一次在許多不同的機(jī)器上運(yùn)行相同的命令。
通過ClusterSSH,您可以同時在多個主機(jī)上進(jìn)行相同的更改。它提供了一個特殊的控制臺界面,您在控制臺中輸入的任何內(nèi)容都會自動發(fā)送到任意數(shù)量的主機(jī)。
在Linux上安裝ClusterSSH
在Ubuntu,Debian或Linux Mint上安裝ClusterSSH:
$ sudo apt-get install clusterssh
要在CentOS或RHEL上安裝ClusterSSH,首先需要設(shè)置EPEL存儲庫,然后運(yùn)行以下命令。
$ sudo yum install clusterssh
要在Fedora上安裝ClusterSSH,只需運(yùn)行:
$ sudo yum install clusterssh
配置ClusterSSH
安裝后,第一步是定義要在其上運(yùn)行命令的主機(jī)群集。為此,請按如下方式創(chuàng)建系統(tǒng)范圍的ClusterSSH配置文件。
$ sudo vi / etc / clusters
clusters = my_cluster my_cluster2
my_cluster = host1 host2 host3 host4
my_cluster2 = host5 host6
如果您需要特定于用戶的ClusterSSH配置,只需使用?/ .csshrc而不是/ etc / clusters。在上面的示例配置中,我定義了兩個集群:“my_cluster”由四個主機(jī)組成,“my_cluster2”包含兩個主機(jī)。群集是您要登錄并運(yùn)行命令的一組主機(jī)。
當(dāng)您使用任何用戶定義的群集啟動ClusterSSH時,它將使用ssh登錄到群集中的各個主機(jī),并在主機(jī)上運(yùn)行任何用戶類型的命令。
啟動ClusterSSH
要啟動ClusterSSH,請按如下方式運(yùn)行cssh命令。
$ cssh -l dev my_cluster
在上文中,“dev”是群集中所有主機(jī)的登錄ID,“my_cluster”是群集名稱。
如果需要,可以指定單個主機(jī)名而不是群集名。
$ cssh -l dev host1 host2 host3
一旦CSSH執(zhí)行命令時,它會彈出用于單個主機(jī)的XTerm窗口,以及標(biāo)記的一個小窗口“CSSH [2]”,其是ClusterSSH控制臺窗口。無論您在控制臺窗口中輸入什么,都將同時出現(xiàn)在各個主機(jī)的XTerm窗口中?;旧希梢酝ㄟ^單一控制臺窗口控制所有XTerm窗口。
如果要將某些命令運(yùn)行到特定的XTerm窗口,只需將焦點(diǎn)切換到Xterm窗口,然后像往常一樣鍵入命令。
以下屏幕截圖顯示了ClusterSSH的運(yùn)行情況,其中群集中有五個主機(jī),左上角的控制臺窗口是您應(yīng)該鍵入要在所有五個主機(jī)上運(yùn)行的命令的位置。
轉(zhuǎn)自 嘉為教育-rhce認(rèn)證_rhce培訓(xùn)_linux培訓(xùn)_linux認(rèn)證_linux考證
ansible lv -a 'df -h free -h '
報(bào)錯
10.255.177.180 | FAILED | rc=1
df: ‘’: No such file or directory
df: ‘free’: No such file or directorynon-zero return code
10.255.177.183 | FAILED | rc=1
需要修改為:
ansible lv -m shell -a 'df -h free -h '
連續(xù)不中斷執(zhí)行
用;可以讓多個命令連續(xù)知行,中間出現(xiàn)錯誤并不會中斷后面命令,如
雖然第二條指令會報(bào)錯,但是不會影響后面的指令,最后test目錄不存在
出錯停止后面指令
用分割的命令,如果沒有錯誤會一直執(zhí)行下去,出現(xiàn)錯誤立即中止,如
這回在第二個指令處就中止了
一次正確即停止
用||分割的命令,如果有錯誤就一直執(zhí)行下去,直到一次正確立即中止,如
第一次執(zhí)行第一條指令就正確,后面的不執(zhí)行
第二次執(zhí)行前兩條都錯誤,直到最后一條才正確,最后一條不再執(zhí)行