在多個(gè)?Linux?服務(wù)器上運(yùn)行多個(gè)命令的操作指南
可以使用 pssh(并行 ssh)程序,這是一個(gè)用于在多個(gè)主機(jī)上并行執(zhí)行 ssh 的命令行實(shí)用程序。使用它,您可以從 shell 腳本向所有 ssh 進(jìn)程發(fā)送輸入。
創(chuàng)建 Shell 腳本
因此,您需要首先準(zhǔn)備一個(gè)腳本,其中包含您要在不同服務(wù)器上執(zhí)行的 Linux 命令。在此示例中,我們將編寫一個(gè)腳本,該腳本將從多個(gè)服務(wù)器收集以下信息:
- 檢查服務(wù)器的正常運(yùn)行時(shí)間
- 檢查誰登錄以及他們在做什么
- 根據(jù)內(nèi)存使用情況列出前 5 個(gè)正在運(yùn)行的進(jìn)程。
首先使用您喜歡的編輯器創(chuàng)建一個(gè)名為 commands.sh 的腳本。
# vi commands.sh
接下來,將以下命令添加到腳本中,如圖所示。
#!/bin/bash ############################################################################### #Script Name : commands.sh #Description : execute multiple commands on multiple servers #Author : Aaron Kili Kisinga #Email : aaronkilik@gmail.com ################################################################################ echo # show system uptime uptime echo # show who is logged on and what they are doing who echo # show top 5 processe by RAM usage ps -eo cmd,pid,ppid,%mem,%cpu --sort=-%mem | head -n 6 exit 0
保存文件并關(guān)閉它。然后如圖所示使腳本可執(zhí)行。
# chmod +x commands.sh
創(chuàng)建 PSSH 主機(jī)文件
接下來,在 hosts.txt 文件中添加要在其上運(yùn)行命令的服務(wù)器列表,格式為 [user@]host[:port] 或僅提供服務(wù)器 IP 地址。
但我們建議您使用可以在 .ssh/config 文件中指定的 ssh 別名,如如何配置自定義 ssh 連接以簡化遠(yuǎn)程訪問中所述。
這種方法更有效和可靠,它允許您為每個(gè)遠(yuǎn)程服務(wù)器指定配置選項(xiàng)(如主機(jī)名、標(biāo)識文件、端口、用戶名等)。 以下是我們的示例 ssh 主機(jī)別名文件,也就是用戶特定的 ssh 配置文件。
# vi ~/.ssh/config
接下來,創(chuàng)建一個(gè) hosts.txt 文件,在這里您可以簡單地指定別名(使用 .ssh/config 文件中的 Host 關(guān)鍵字定義的名稱),如圖所示。
# vi hosts.txt
添加服務(wù)器別名。
server1 server2 server3
通過腳本在多個(gè) Linux 服務(wù)器上運(yùn)行命令
現(xiàn)在通過指定 hosts.txt 文件以及包含要在多個(gè)遠(yuǎn)程服務(wù)器上運(yùn)行的多個(gè)命令的腳本來運(yùn)行以下 pssh 命令。
# pssh -h hosts.txt -P -I<./commands.sh
上述命令中使用的標(biāo)志的含義:
-h
– 讀取主機(jī)文件。-P
– 告訴 pssh 在輸出到達(dá)時(shí)顯示輸出。-I
– 讀取輸入并發(fā)送到每個(gè) ssh 進(jìn)程。
到此這篇關(guān)于在多個(gè) Linux 服務(wù)器上運(yùn)行多個(gè)命令的操作指南的文章就介紹到這了,更多相關(guān) Linux 服務(wù)器運(yùn)行命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
linux shell實(shí)現(xiàn)批量主機(jī)遠(yuǎn)程執(zhí)行命令腳本
這篇文章主要介紹了linux shell實(shí)現(xiàn)批量主機(jī)遠(yuǎn)程執(zhí)行命令腳本,文章通過代碼示例講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-09-09Linux Shell 自動交互功能實(shí)現(xiàn)
本文主要介紹了Linux Shell 自動交互功能實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08