一、pssh简介

pssh是一个python编写可以在多台服务器上执行命令的工具,也可实现文件复制。pssh需要通过ssh的key验证来管理主机,其不能很好的支持密码验证。用过epel源的pssh包来安装

二、pssh选项

pssh [OPTIONS] command […]

–version:查看版本
-h:主机文件列表,内容格式”[user@]host[:port]”
-H:主机字符串,内容格式”[user@]host[:port]”
-l:登录使用的用户名
-p:并发的线程数【可选】
-o:输出的文件目录【可选】
-e:错误输入文件【可选】
-t:TIMEOUT 超时时间设置,0无限制【可选】
-O:SSH的选项
-v:详细模式
-A:手动输入密码模式
-x:额外的命令行参数使用空白符号,引号,反斜线处理
-X:额外的命令行参数,单个参数模式,同-x
-i:每个服务器内部处理信息输出
-P:打印出服务器返回信息

常用选项:-H  、-h 、-i、

三、示例

joker ~ #  pssh -H root@172.18.30.254 -i sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
[1] 02:56:19 [SUCCESS] root@172.18.30.254 -H表示指定主机
-i表示在本地输出执行结果 joker ~ # echo -e "172.18.30.254\n172.18.30.253" >ip.txt
joker ~ # cat ip.txt
172.18.30.254
172.18.30.253
joker ~ # pssh -h ip.txt -i echo "ok"
[1] 02:58:29 [SUCCESS] 172.18.30.254
ok
[2] 02:58:29 [SUCCESS] 172.18.30.253
ok 通过 -h选项,读取ip.txt文件(批量保存ip的列表),达到批量执行任务的目的。

如果钥调用远程的变量,那么需要把需要在远程主机执行的命令用单引号引起来,否则调用的是本地的变量

  1. joker ~ # pssh -h ip.txt -i echo "ok"
  2. [1] 02:58:29 [SUCCESS] 172.18.30.254
  3. ok
  4. [2] 02:58:29 [SUCCESS] 172.18.30.253
  5. ok
  6. joker ~ # pssh -h ip.txt -i echo "$HOSTNAME"
  7. [1] 03:01:25 [SUCCESS] 172.18.30.254
  8. joker
  9. [2] 03:01:25 [SUCCESS] 172.18.30.253
  10. joker
  11. joker ~ # pssh -h ip.txt -i echo '$HOSTNAME'
  12. [1] 03:01:34 [SUCCESS] 172.18.30.254
  13. joker-6-01
  14. [2] 03:01:34 [SUCCESS] 172.18.30.253
  15. newhostname

如果要使用基于密码的方式去连接主机可以加-A选项,但是这个工具只会提示输入一次密码,也就是说,在批量执行的过程中,所有的主机密码都是相同的,在工作中,显然这样是不合要求的,所以这种方式一般是不使用的。

四、基于pssh的pscp.pssh

功能是将本地文件批量复制到远程主机

Pscp-pssh选项

-v 显示复制过程
-a 复制过程中保留常规属性
-r 递归复制目录

joker ~ # pscp -h ip.txt /root/ip.txt ~/   #gentoo系统和centos的有些区别,但是参数格式是一样的
[1] 03:07:43 [SUCCESS] 172.18.30.254
[2] 03:07:43 [SUCCESS] 172.18.30.253 将本地ip.txt 拷贝到远程目标主机上

五、基于pssh的pslurp.pssh命令

功能是将远程主机的文件批量复制到本地

Pslurp-pssh选项

-L 指定从远程主机下载到本机的存储的目录,local是下载到本地后的名称
-r 递归复制目录

joker ~ # pslurp -h ip.txt -L /app/ /etc/passwd passwd
[1] 03:15:43 [SUCCESS] 172.18.30.254
[2] 03:15:43 [SUCCESS] 172.18.30.253 joker ~ # cd /app/
joker /app # ls -l
total 0
drwxr-xr-x 2 root root 42 Jan 9 03:15 172.18.30.253
drwxr-xr-x 2 root root 42 Jan 9 03:15 172.18.30.254
joker /app # cd 172.18.30.254
joker /app/172.18.30.254 # ls
passwd -L指定保存到本地的哪个目录
倒数第二个参数表示要在在远程主机下载的文件
paswd表示要更换的名字(必须有这一项,否则会报错)

pssh一个微量级自动化工具的更多相关文章

  1. python自动化工具之pywinauto(一个实例)结合pyuserinput

    以下是pywinauto使用指南.这个窗口句柄可以在Spy++中查看 (Microsoft Spy++(查看窗口句柄) 10.00.30319 官方最新绿色版) python自动化工具之pywinau ...

  2. C#最佳工具集合:IDE、分析、自动化工具等

    C#是企业中广泛使用的编程语言,特别是那些依赖微软的程序语言.如果您使用C#构建应用程序,则最有可能使用Visual Studio,并且已经寻找了一些扩展来对您的开发进行管理.但是,这个工具列表可能会 ...

  3. 运维自动化工具ansible

    企业级自动化运维工具应用实战ansible 公司计划在年底做一次大型市场促销活动,全面冲刺下交易额,为明年的上市做准备.公司要求各业务组对年底大促做准备,运维部要求所有业务容量进行三倍的扩容,并搭建出 ...

  4. vue04 组件化开发 Vue自动化工具

    5. 组件化开发 5.1 组件[component] 组件(Component)是自定义封装的功能.在前端开发过程中,经常出现多个网页的功能是重复的,而且很多不同的网站之间,也存在同样的功能. 而在网 ...

  5. Python 任务自动化工具 tox 教程

    在我刚翻译完的 Python 打包系列文章中,作者提到了一个神奇的测试工具 tox,而且他本人就是 tox 的维护者之一.趁着话题的相关性,本文将对它做简单的介绍,说不定大家在开发项目时能够用得上. ...

  6. Vue系列-03-vue-cli自动化工具

    使用Vue-CLI创建项目 安装vue-cli脚手架 Mac安装vue-cli脚手架 lichengguo@lichengguodeMacBook-Pro ~ % sudo npm install - ...

  7. web自动化工具-开篇

    web自动化工具-开篇 最近几年,前端技术风一样的速度迭代更新,各种框架工具雨后春笋般涌现,作为一个平凡的开发者,也只能在洪流中沉沉浮浮,微不足道,以前前端叫做切图仔.美工,如今改了称号叫前端工程师, ...

  8. web自动化工具-liveStyle

    web自动化工具-liveStyle LiveStyle. The first bi-directional real-time edit tool for CSS, LESS and SCSS主要用 ...

  9. web自动化工具-livereload

    web自动化工具-livereload livereload是一个很神奇的工具,主要解放了F5键,监听文件变动,整个页面自动刷新.可搭载gulp等构建工具使用.和liveStyle 针对样式文件相比, ...

随机推荐

  1. idea的spring整合基于xml文件配置的mybatis报Invalid bound statement (not found): com.music.dao.MusicDao.findAll的问题

    一. 题主当时就是自己尝试整合spring和mybatis的时候遇到了这个问题,当时题主只看到了用注解的方式配置的dao层,题主用的是xml文件配置的形式, 而且坑爹的是题主的两个文件的路径写的也不一 ...

  2. SQLite基础-5.数据操作语言

    目录 一.添加数据(insert) 二.查询数据(select) 三.更新数据(update) 三. 删除数据(delete) 一.添加数据(insert) INSERT INTO 用于向数据库的某个 ...

  3. SQLSERVER 去除字符串中特殊字符

    原文:SQLSERVER 去除字符串中特殊字符 /*========================================================================== ...

  4. Minimum Cut(2015沈阳online)【贪心】

    Minimum Cut[贪心]2015沈阳online 题意:割最少的边使得图不连通,并且割掉的边中有且仅有一条是生成树的边. 首先,我们选择一条树中的边进行切割,此时仅考虑树上的边集,有两种情况:1 ...

  5. Thinkphp+Ajax带关键词搜索列表无刷新分页实例

    Thinkphp+Ajax带关键词搜索列表无刷新分页实例,两个查询条件,分页和搜索关键字,懂的朋友还可以添加其他分页参数. 搜索#keyword和加载内容区域#ajax_lists <input ...

  6. 运用加密技术保护Java源代码(转)

    出处:运用加密技术保护Java源代码 为什么要加密? 对于传统的C或C++之类的语言来说,要在Web上保护源代码是很容易的,只要不发布它就可以.遗憾的是,Java程序的源代码很容易被别人偷看.只要有一 ...

  7. DVWA之SQL注入演练(low)

    1.设置 把安全等级先调整为low,让自己获得点信心,免得一来就被打脸. 2.测试和分析页面的功能       这里有一个输入框 根据上面的提示,输入用户的id.然后我们输入之后,发现它返回了关于这个 ...

  8. SSM(Spring+SpringMVC+MyBatis)高并发优化思路

    SSM(Spring+SpringMVC+MyBatis)框架集由Spring.MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容).常作为数据源较简单的web项目的框架 ...

  9. git、github常用操作

    1.将github项目拷贝到本地 $ git clone https://github.com/jim2500/miaosha_project.git 2.修改本地项目上传到github T470s@ ...

  10. cookie以一个或多个空格开头

    作为一个整体,如果cookie以一个或多个空格开头,请用空格替换所有空格:如果cookie以一个或多个空格结尾,请用空格替换所有空格. 象征意义: \ S:空间,空间 +一个或多个 ^开始,^s,以空 ...