一、Omnitty简单介绍
在实际工作需要同时对多台docker进行批量处理,为了节省时间,这个运维轻量级工具解决此问题
二、Omnitty简单按照
下载需要安装包和依赖包:
omnitty-0.3.0.tar.gz
rote-0.2.8.tar.gz
1、将按照包上传至linux指定文件夹下进行解压缩
2、安装rote-0.2.8
解压缩
#cd rote-0.2.8/
./configure
make
make install
3、安装omnitty
#tar -zxvf omnitty-0.3.0.tar.gz
cd ../omnitty-0.3.0/
./configure
make
make install
4、添加libROTE动态链接库到/etc/ld.so.conf
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
注意:
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“,需要安装ncurs
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进行简单批处理
1、创建主机IP列表
方式一:
#vim /etc/hosts
192.168.10.120
192.168.10.121
······
方式二:
IP+端口【ssh的端口不是默认的22】
192.168.1.61 –p 222
在指定目录下新建一个,如 存的文件路径及名字为/root/test
方式三:
IP+用户
root@xxxx
2、进入omnitty界面
#omnitty –W xxxx –T xxx
omnitty -W 20 -T 180【表示宽度长度】
F1:操作菜单
F2/3:向上/向下选择主机
F4:标记/取消标记主机
F5:添加主机
F6:删除主机
F7:广播
F1菜单详细指令:
r:对主机重命名(只是为了标记清楚,并不是更改hostname)
t:标记所有主机(即选中所有主机)
q:退出程序
添加主机:按F5,程序左下角会提示“add”,在此后面填写主机列表,
格式:@/root/host 【host可以表示你自己新建的IP列表文件】
用主机列表添加主机的方法,ssh登陆的用户是默认执行omnitty的user,不能写成user@hostlist.txt,这样是不成功的。
如果想以固定账户登陆,就不能使用主机列表的方式,而是写成类似于ssh登陆的语法:user@x.x.x.x,但是这样就失去了部分omnitty的意义,因为你得手动填写一系列的主机列表,不够智能
键入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 回车即可
参考链接:http://www.cnblogs.com/zhangxinglong/p/5312556.html