zoukankan      html  css  js  c++  java
  • 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,添加如下内容:

    root@192.168.1.60

    root@192.168.1.61

    键入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 回车即可

  • 相关阅读:
    xp下双开3389源码
    批处理加密解密原理
    Durango框架开源
    细说PHP5.3.4变量的引用赋值
    svnversion
    sqlite 的使用
    message日志_默认是一周一个日志,保存4周
    Smartmontool 使用
    NETRA之数据库处理
    mysql 日志转
  • 原文地址:https://www.cnblogs.com/zhangxinglong/p/5312556.html
Copyright © 2011-2022 走看看