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
F1:操作菜单
F2/3:向上/向下选择主机
F4:标记/取消标记主机
F5:添加主机
F6:删除主机
F7:广播
F1菜单详细指令:
r:对主机重命名(只是为了标记清楚,并不是更改hostname)
t:标记所有主机(即选中所有主机)
q:退出程序
添加主机:按F5,程序左下角会提示“add”,在此后面填写主机列表,
格式:@/root/host
用主机列表添加主机的方法,ssh登陆的用户是默认执行omnitty的user,不能写成user@hostlist.txt,这样是不成功的。
如果想以固定账户登陆,就不能使用主机列表的方式,而是写成类似于ssh登陆的语法:user@x.x.x.x,但是这样就失去了部分omnitty的意义,因为你得手动填写一系列的主机列表,不够智能。
输入主机列表后,按F1—t选择全部主机(选择的主机名为绿色),再按F7广播操作命令,即操作对选中的所有主机生效。执行广播命令要慎重!!!
在实际操作中可按F2/F3来选择相应的主机界面,按F4标记或取消标记一台主机,用F6来删除一台主机,根据实际情况具体应用。
#######################简单的批量操作使用######################
【如果主机比较多,或者懒得一次次输入的时候,可以选择下面的方式】
把主机地址写到一个文件中,如在/root下创建一个文件server,添加如下内容:
键入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 回车即可
linux批量执行工具omnitty使用方法的更多相关文章
- 批量执行工具PSSH详解
批量执行工具PSSH详解 pssh是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的,使用必须在各个服务器上配置好密钥认证访问. 安装pssh包 yum 安 ...
- linux下执行.sh文件的方法和语法
linux下执行.sh文件的方法 .sh文件就是文本文件,如果要执行,需要使用chmod a+x xxx.sh来给可执行权限. 是bash脚本么 可以用touch test.sh ...
- Linux批量部署工具Expect
既然没有遇到过,做好准备总是好的.这是自己送给自己的话,现在运维做自动话越来越多,自己就学以下,记录笔记.目前主流的有puppet.Expect.pssh等等,今天就用Expect做自动部署和日常管理 ...
- windows与linux下执行.class(包含main方法)
来源:http://blog.csdn.net/hanqunfeng/article/details/4327325 一般来说,执行一个java文件采用执行jar包的方式最为方便(java -jar ...
- Linux批量管理工具Ansible
Ansible-批量linux管理工具:https://github.com/ansible/ansible Ansible有如下优点: 1.轻量级,他不需要去客户端安装agent,更新时,只需要在操 ...
- 用linux 命令 执行ci框架的方法
最近要跑一个数据量比较大的脚本,刚开始在浏览器页面访问发行nginx 5.4 超时, 又不想去修改nginx的连接时间,只能在服务器执行了, 执行方法:进入到ci 的根目录:#php index.ph ...
- 【shell脚本】通过遍历文件的一种批量执行shell命令的方法。
在分析数据时,经常会有许多机械重复的命令带入,作为一个半路出家的程序猿,我曾经对这种工作束手无策.不像一个熟手那样举重若轻的分析,感觉自己的生信分析完全是个体力活.为了打开这样的局面,我开始学习如何批 ...
- Linux 批量管理工具
pssh/pscp(Python) ansible(Python) saltstack(Python) chef puppet(Ruby) fabric(Python)
- linux批量匹配移动文件的方法
需求 有需要移动的文件名清单 filename.txt filename.txt 内容如下: 15542842 1582457 1282427 1532158 4542457 1582453 6552 ...
随机推荐
- emmt html生成
html:5 或 ! html:5 或!:用于HTML5文档类型 html:xt:用于XHTML过渡文档类型 html:4s:用于HTML4严格文档类型 常用过渡文档类型 html:xt 直接c ...
- rhel安装eclipse
smb --> IDE --> 环境gcc(开发c) g++(开发c++)c++操作linux --> sqlite数据库linux平台自带sqlite数据库 基本SQL语言划分:D ...
- 对于方法 String.Contains,只支持可在客户端上求值的参数。
var ProjectLevel_XJJS = "06,07,08,09"; p.Where(e =>ProjectLevel_XJJS.Contains(e.LevelCo ...
- nosql学习一
1.NoSQL,泛指非关系型的数据库.随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难 ...
- iOS 获取手机 唯一标识-b
存贮在keychainQuery 可以统计用户使用情况 -(void)gatherMessage{ //采集用户设备信息 NSUserDefaults *userDefaults=[NSUserDef ...
- Nginx系列~概念与windows下环境搭建
概述 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sys ...
- 【技术贴】xp任务栏字体变大变小
今天远程到服务器上,发现任务栏字体变小了,百度了很久,发现百度就是个渣渣,什么答案都搜不到.就自己摸索了一下. 方法一: 桌面右击属性-外观-字体大小, 下拉匡 方法二 :桌面右击[属性]-[外观]- ...
- android Base64加密解密
// 加密传入的数据是byte类型的,并非使用decode方法将原始数据转二进制,String类型的数据 使用 str.getBytes()即可 String str = "Hello!&q ...
- 【HDOJ】1276 士兵队列训练问题
初看这道题目很像尤瑟夫问题, 区别是每次都是从1开始.解法也很类似.数学解递推公式.假定第K次报数后,余下人数不超过3个人.若第K次为1-3报数,那么由这三个数的当前索引n可推上一次报数之前的编号为n ...
- 在 Windows 下远程桌面连接 Linux - XManager 篇
XManager是一个简单易用的高性能的运行在Windows平台上的X-Server软件,而Gnome和KDE就是X-Client,Linux下的X-Server则为Xorg.它能把远端Unix/Li ...