polysh简介

polysh 是一个交互式命令,可以在一台服务器上批量的对一批服务器进行处理,运行交互式命令。官方的简介如下:

Polysh is a tool to aggregate several remote shells into one. Itis used to launch an interactive remote shellon many machines at once. It is written in Python and requires Python ≥ 2.4.

注: Polysh 是一个由几个远程脚本集合而成的工具,它被用于在许多服务器上运行一个交互式的远程脚本,由 Python 编写,最低要求为 Python 2.4

当需要查看一个服务(部署在多台机器上)的日志的时候,可以使用ploysh在一台机器查看多台机器的日志,而不需要一台机器一台机器的登录查看,方便了问题的排查和定位。

polysh安装

先在一台机器上执行如下命令安装polysh:

1、选择一个目录,下载解压文件:

wget http://guichaz.free.fr/polysh/files/polysh-0.4.tar.gz  
tar -zxvf polysh-0.4.tar.gz  

2、新建polysh的使用脚本,然后通过 chmod命令 赋予可执行权限:

vim polysh.sh

脚本内容如下:将需要访问的机器列表填写在最后
python /home/安装目录.../polysh-0.4/polysh.py {name1, name2, name3}

{}大括号里填写的是机器的名称,以逗号 "," 分隔。polysh也支持多种机器名的格式,假如机器很多的话,也可以写为:name<1-3>

3、如果出现如下提示信息:机器's passpord,则需要配置机器之间无密码访问。

① 通过 ssh-keygen -t rsa 生成本机器的密钥和公钥

② cat /用户目录.../.ssh/id_rsa.pub 获取公钥

③ 将公钥追加到所需要无密码访问目标机器(例如上面的name<1-3>的3台机器)的授权文件中(授权文件的路径为:/用户目录.../.ssh/authorized_keys)

polysh使用

运行刚刚新建的 ./polysh.sh 脚本

ready (3) 表示 3台机器已经连接完毕,可以执行查询命令。exit或Crtl+z都可以退出。

查看3台机器上面的日志信息:less test.log,如图所示,颜色不同的3行分别是3台机器输出的日志内容:

通过在一台机器上,实现对多个机器进行操作,再也不需要去记复杂的机器名称了,也不需要每个机器来回登录去执行重复指令,解放自己,减少了重复工作。最方便的场景就是查日志、查看机器信息(CPU、磁盘)这些小操作。

如果机器非常多的话(10台以上),就不建议使用了,还有对机器性能有影响的命令也不建议执行。

polysh安装与使用-同时查看多台机器日志的更多相关文章

  1. Flume 实战,将多台机器日志直接收集到 Kafka

    目前我们使用的一个 b 端软件的报错日志分散在集群各处,现在想把它收集到一个地方然后统一丢进 Kafka 提供给下游业务进行消费. 我想到了 flume,之前让同事搭建的这次自己想多了解一些细节于是就 ...

  2. Jmeter 多台机器产生负载及问题解决方法

    JMeter 使用多台机器产生负载的操作步骤如下: 关于linux环境运行jmeter,分布式测试 见 http://www.51testing.com/html/55/383255-847895.h ...

  3. Jmeter 多台机器产生负载

    使用多台机器产生负载的操作步骤如下: (1)在所有期望运行jmeter作为 负载生成器的机器上安装jmeter, 并确定其中一台机器作为 controller ,其他的的机器作为agent .然后运行 ...

  4. 第四课 Grid Control实验 GC Agent安装(第一台机器部署) 及卸载

    3.GC Agent安装(第一台机器部署) 安装Agent 拷贝agent,现在ocm2机器上查找agent.linux  查找文件的方法: find ./ -name agent*linux 把ag ...

  5. centos 安装redis(一台机器可以安装多个redis)

    我在运行时redis版本是2.8 操作前设置以管理员身份: 打开终端输入 su - 安装redis需要确保系统已经安装了(gcc gcc-c++)# yum -y install gcc gcc-c+ ...

  6. window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法

    window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法 本机已经安装了jdk1.7,而比较早期的项目需要依赖jdk1.6,于是同时在本机安装了jdk1.6和jdk1.7. 安装 ...

  7. Ubuntu 中软件的安装、卸载以及查看的方法总结

    Ubuntu 中软件的安装.卸载以及查看的方法总结 博客分类: Linux UbuntuDebian配置管理CacheF#  说明:由于图形化界面方法(如Add/Remove... 和Synaptic ...

  8. 第四课 Grid Control实验 GC OMS安装(第二台机器部署)

    2.GC OMS安装(第二台机器部署) 1. 配置图形化 [oracle@ocm2 ~]$ xhost + access control disabled, clients can connect f ...

  9. 如何在同一台机器上安装多个MySQL的实例

    转自:'http://www.cnblogs.com/shangzekai/p/4375271.html 最近由于工作的需要,需要在同一台机器上搭建两个MySQL的实例,(注:已经存在了一个3306的 ...

随机推荐

  1. ROS(indigo)机器人操作系统学习资料和常用功能包汇总整理(ubuntu14.04LTS)

    ROS(indigo)机器人操作系统学习资料和常用功能包汇总整理(ubuntu14.04LTS) 1. 网站资源: ROSwiki官网:http://wiki.ros.org/cn GitHub    ...

  2. 代理服务器 详解 Apache与Nginx的比较与分析

    正向代理:是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容 ...

  3. int*p[ ]与int(*p)[ ]的不同

    举例说明: 1)int* p[2] 是一个指向int型的指针数组,即:p是包含两个元素的指针数组,指针指向的是int型. 可以这样来用: #include <iostream> using ...

  4. (NO.00003)iOS游戏简单的机器人投射游戏成形记(十)

    打开Arm.h,在其接口中添加一个新方法: -(void)armShoot; 接下来在Arm.m中实现该方法: -(void)armShoot{ CGPoint startPoint = [self ...

  5. 9.3、Libgdx手势检测

    (官网:www.libgdx.cn) 触摸屏在输入的基础上增加了手势检测,比如两个手指实现缩放,单击或双击屏幕,长按屏幕等. Libgdx提供了GestureDetector来帮助你检测以下手势: t ...

  6. 时间序列分解-STL分解法

    时间序列分解-STL分解法 [转载时请注明来源]:http://www.cnblogs.com/runner-ljt/ Ljt 作为一个初学者,水平有限,欢迎交流指正. STL(’Seasonal a ...

  7. AngularJS进阶(二)AngularJS路由问题解决

    AngularJS路由问题解决 遇到了一个棘手的问题:点击优惠详情时总是跳转到药店详情页面中去.再加一层地址解决了,但是后来发现问题还是来了: Could not resolve 'yhDtlMain ...

  8. C++11特性 - Smart Pointers 智能指针

    已经有成千上万的文章讨论这个问题了,所以我只想说:现在能使用的,带引用计数,并且能自动释放内存的智能指针包括以下几种:         unique_ptr: 如果内存资源的所有权不需要共享,就应当使 ...

  9. 图像边缘检测--OpenCV之cvCanny函数

    图像边缘检测--OpenCV之cvCanny函数 分类: C/C++ void cvCanny( const CvArr* image, CvArr* edges, double threshold1 ...

  10. Android群英传笔记——第二章:Android开发工具新接触

    Android群英传笔记--第二章:Android开发工具新接触 其实这一章并没什么可讲的,前面的安装Android studio的我们可以直接跳过,如果有兴趣的,可以去看看Google主推-Andr ...