linux批量執行工具omnitty安裝及使用


一、omnitty概述:

在生產環境中,可能會有多台linux主機,運維人員可能會對多台主機進行同樣的操作,例如:同時在多台主機上添加一個user用戶或者查看所有主機的硬件信息,如果沒有批量操作工具,設備少於20台還勉強可以手動操作,如果設備很多(100+)還手動操作的話······
omnitty是基於ssh的批量登陸工具,可批量登陸多台基於ssh的主機(linux等),並且使多台主機同時執行一樣的命令。因此,omnitty很適合在多台主機上重復勞動。

二、omnitty安裝:

安裝環境:CentOS Linux release 7.4.1708 (Core)
安裝軟件:rote-0.2.8.tar.gz 、omnitty-0.3.0.tar.gz 

(1)下載需要安裝包和依賴包:

  • rote-0.2.8.tar.gz:  鏈接: https://pan.baidu.com/s/1FGItIXUolODJvg8Cj4iQ1g 提取碼: gx2x 
  • omnitty-0.3.0.tar.gz:  鏈接: https://pan.baidu.com/s/1AN2rcYjHhktIuiwd2dW0-Q 提取碼: p8rb

(2)將按照包上傳至linux指定文件夾下:

(3)安裝rote-0.2.8:

  • tar -zxvf rote-0.2.8.tar.gz 
  • cd rote-0.2.8/ 
  • ./configure 
  • make 
  • make install

(4)安裝omnitty:

  • tar -zxvf omnitty-0.3.0.tar.gz 
  • cd ../omnitty-0.3.0/ 
  • ./configure 
  • make 
  • make instal

(5)添加libROTE動態鏈接庫到/etc/ld.so.conf:

安裝后直接執行omnitty會報錯: 

  • omnitty: error while loading shared libraries: librote.so.0: cannot open shared object file: No such file or directory 
  • 提示沒有找到librote.so.0

解決上述問題的辦法:

  • 執行:whereis librote.so.0 
  • librote.so: /usr/local/lib/librote.so.0 /usr/local/lib/librote.so 
  • 說明librote.so.0庫已安裝,路徑在/usr/local/lib/
  • 在/etc/ld.so.conf文件末尾添加/usr/local/lib,保存並退出。 
  • 最后執行:ldconfig

注意:安裝時可能會出現的問題:
(a)如果報錯”Need ncurses to compile librote“,需要安裝ncurses開發包:

  • CentOS:# yum install ncurses-devel
  • ubuntu:$ apt-get install libncurses5-dev

(b)如果報錯“//lib/x86_64-linux-gnu/libncurses.so.5: error adding symbols: DSO missing from command line”需要修改Makefile文件

  • 錯誤描述:
  • [plain]  view plain copy
     
    1. # make  
    2. gcc -g -O2 -I/usr/local/include -Wall -DOMNITTY_VERSION=\"0.3.0\" -o omnitty minibuf.o machine.o main.o machmgr.o help.o menu.o curutil.o  -L/usr/local/lib -lrote  
    3. /usr/bin/ld: help.o: undefined reference to symbol 'delwin@@NCURSES_5.0.19991023'  
    4. //lib/x86_64-linux-gnu/libncurses.so.5: error adding symbols: DSO missing from command line  
    5. collect2: error: ld returned 1 exit status  
    6. Makefile:18: recipe for target 'omnitty' failed  
    7. make: *** [omnitty] Error 1  
  • 更正Makefile文件:
  • [plain]  view plain copy
     
    1. omnitty: $(objects)  
    2. $(CC) $(CFLAGS)  -o omnitty $(objects) $(LDFLAGS) $(LIBS) -lncurses  -ltinfo  

三、omnitty使用:

(1)執行omnitty,出現omnitty工具界面:

相關指令:

  • F1:操作菜單 
  • F2/3:向上/向下選擇主機 
  • F4:標記/取消標記主機 
  • F5:添加主機 
  • F6:刪除主機 
  • F7:廣播 

F1菜單詳細指令: 

  • r:對主機重命名(只是為了標記清楚,並不是更改hostname) 
  • t:標記所有主機(即選中所有主機) 
  • q:退出程序 

(2)添加主機/主機列表:

添加單個主機:

  • 按F5,出現Add:提示符,然后輸入IP地址;例如:F5--->”Add:172.18.8.7“。(其實沒啥意義)

添加主機列表:

  • 在指定目錄下新建一個文件,在文件中添加多個主機列表,然后如上面使用F5添加;
  • 例如:文件路徑及名字為/root/test,然后按F5--->”Add:@/root/test“

(3)簡單的批量操作使用:

如果主機比較多,或者懶得一次次輸入的時候,可以選擇下面的方式:
①把主機地址寫到一個文件中,如在/root下創建一個文件server,添加如下內容:
    root@192.168.1.60
    root@192.168.1.61
②啟動omnitty;
③F5,然后在add提示符后輸入:@/root/server;
④F1+t選中所有機器,或使用F2/F3加F4單獨選中個別機器;
⑤F7 切換到MULTICAST MODE模式,此時隨意在某一台上敲命令都可以,列表中的主機執行動作將會一模一樣;
⑥輸入密碼(同步向所有機器輸入密碼,如果密碼不同,則需要單獨來);
⑦F2/F3切換機器查看每台機器的運行結果。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM