天天看點

linux批量執行工具omnitty使用方法

一、omnitty概述

在生産環境中,可能會有多台linux主機。運維人員可能會對多台主機進行同樣的操作,例:同時在多台主機上添加一個user或檢視所有主機的硬體資訊,如果沒有批量操作工具,裝置少于20台還勉強可以手動操作,當裝置很多(100+)還手動操作的話······

Omnitty是基于ssh的批量登陸工具,可批量登陸多台基于ssh的主機(linux等),并且使多台主機同時執行一樣的指令。在多台主機重複勞動很适合。

官方位址:http://omnitty.sourceforge.net/

在官方位址下載下傳libROTE Library Home Page和omnitty,其中libROTE Library Home Page是omnitty的安裝需要的動态連結庫檔案(librote.so.0)。

本人下載下傳到的版本:

rote-0.2.8.tar.gz

omnitty-0.3.0.tar.gz

編譯安裝正常。

二、安裝omnitty

1、 tar -zxvf rote-0.2.8.tar.gz

cd rote-0.2.8/

./configure

make

make install

2、tar -zxvf omnitty-0.3.0.tar.gz

cd ../omnitty-0.3.0/

./configure

make

make install

3、添加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

cat /etc/ld.so.conf

/usr/X11R6/lib64/Xaw3d

/usr/X11R6/lib64

/usr/lib64/Xaw3d

/usr/X11R6/lib/Xaw3d

/usr/X11R6/lib

/usr/lib/Xaw3d

/usr/x86_64-suse-linux/lib

/usr/local/lib

/opt/kde3/lib

/lib64

/lib

/usr/lib64

/usr/lib

/usr/local/lib64

/opt/kde3/lib64

include /etc/ld.so.conf.d/*.conf

在/etc/ld.so.conf檔案末尾添加/usr/local/lib,儲存并推出。

執行:ldconfig

提示:

etc/ld.so.conf記錄了編譯時使用的動态連結庫的路徑。預設情況下,編譯器隻會使用/lib和/usr/lib這兩個目錄下的庫檔案。如果安 裝了某些庫檔案例librote.so.0,需要在etc/ld.so.conf添加庫檔案的路徑,這樣 ldd 才能找到這個庫。

ldconfig位于/sbin下,是root執行的程式。它的作用就是将/etc/ld.so.conf列出的路徑下的庫檔案緩存到/etc /ld.so.cache 以供使用。是以當安裝完一些庫檔案,(例如剛安裝好glib),或者修改ld.so.conf增加新的庫路徑後,需要運作一下/sbin /ldconfig使所有的庫檔案都被緩存到ld.so.cache中,如果沒做,即使庫檔案明明就在/usr/lib下的,也是不會被使用的,結果編譯 過程中抱錯,缺少xxx庫,去檢視卻發現明明就存在。

注:如果報錯”Need ncurses to compile librote“,需要安裝ncurses開發包,

CentOS:

# yum install ncurses-devel

ubuntu:

$ apt-get install libncurses5-dev

将rote的so檔案加入系統查找路徑裡(不然omnitty運作時會提示找不到so)

# whereis librote.so.0

librote.so: /usr/local/lib/librote.so.0 /usr/local/lib/librote.so

# vim /etc/ld.so.conf.d/omnitty-x86_64.conf

添加如下内容:

/usr/local/lib

# ldconfig

三、omnitty使用

注意:omnitty是基于ssh的批量登陸操作程式,是以在執行操作時必須要注意ssh的使用者權限,以免造成不可估量的損失。

Omnitty預設使用執行此程式的user來進行ssh登陸操作

1、建立主機清單

在裝有omnitty的主機上建立一個需要批量操作的主機清單,例:

vi host

192.168.40.128

192.168.40.129

······

此清單檔案每台主機的ip要以回車分隔,執行omnitty的user要有對檔案的權限。

2、執行omnitty

linux-b779:~ # omnitty

linux批量執行工具omnitty使用方法

F1:操作菜單

F2/3:向上/向下選擇主機

F4:标記/取消标記主機

F5:添加主機

F6:删除主機

F7:廣播

linux批量執行工具omnitty使用方法

F1菜單詳細指令:

r:對主機重命名(隻是為了标記清楚,并不是更改hostname)

t:标記所有主機(即選中所有主機)

q:退出程式

linux批量執行工具omnitty使用方法

添加主機:按F5,程式左下角會提示“add”,在此後面填寫主機清單,

格式:@/root/host

用主機清單添加主機的方法,ssh登陸的使用者是預設執行omnitty的user,不能寫成[email protected],這樣是不成功的。

如果想以固定賬戶登陸,就不能使用主機清單的方式,而是寫成類似于ssh登陸的文法:[email protected],但是這樣就失去了部分omnitty的意義,因為你得手動填寫一系列的主機清單,不夠智能。

linux批量執行工具omnitty使用方法
linux批量執行工具omnitty使用方法
linux批量執行工具omnitty使用方法

輸入主機清單後,按F1—t選擇全部主機(選擇的主機名為綠色),再按F7廣播操作指令,即操作對選中的所有主機生效。執行廣播指令要慎重!!!

在實際操作中可按F2/F3來選擇相應的主機界面,按F4标記或取消标記一台主機,用F6來删除一台主機,根據實際情況具體應用。

 #######################簡單的批量操作使用######################

【如果主機比較多,或者懶得一次次輸入的時候,可以選擇下面的方式】

把主機位址寫到一個檔案中,如在/root下建立一個檔案server,添加如下内容:

[email protected]

[email protected]

鍵入F5之後,使用@/root/server回車,即可加入清單中的所有伺服器。

注:不能寫成user@/root/server,這樣是不成功的。

F2/F3==>上下切換待操作的伺服器

F5加入server中多個伺服器後,往往需要使用F2/F3切換伺服器,以輸入密碼。

【經測試,在添加完server清單主機回車提示輸密碼之後,可以F1—t—F7進入廣播模式,即可以同時操作清單中所有主機時,一次性輸入密碼即可,條件是所有主機密碼相同】

F4==>目前伺服器打入/取消tag

F7==>進入!!!MULTICAST MODE!!!多台輸入模式,此時随意在某一台上敲指令都可以,清單中的主機執行動作将會一模一樣。可以使用F2/F3切換驗證。

#######################如果SSH端口不是預設端口######################

http://blogimg.chinaunix.net/blog/upfile2/090703165246.gz

下載下傳此軟體包,重命名#mv 090703165246.gz omnitty-0.3.0-patched.tar.gz

下面的安裝過程與上面的一樣!

在編寫主機清單時:#vim /root/host

192.168.1.60

192.168.1.61 –p 222

#omnitty添加主機時指令相同

#omnitty ----F5下面輸入@/root/host 回車即可

轉載于:https://www.cnblogs.com/zhangxinglong/p/5312556.html

繼續閱讀