一、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. vscode setting.json (@vue/eslint-config-prettier)

    {     "workbench.colorTheme": "Default Light+", // 主题     "terminal.integra ...

  2. SQL用法三(游标和Fetch)

    /一般情况下,我们用SELECT这些查询语句时,都是针对的一行记录而言,如果要在查询分析器中对多行记录(即记录集)进行读取操作时,则需要使用到游标或WHILE等循环/以下内容摘自http://www. ...

  3. BOF和EOF的详细解释 ADO的三个核心对象

    使用ADO连接数据库进行查一个列表询的时候,数据库将查询结果返回查询端,在查询端的内存里面就会有一个列表,这个列表存放的就是查询的结果.这个内存中的列表就是数据集.在你的程序里面rs就是标识的这个数据 ...

  4. Graph、DFS、BFS

    Graph.java package Graph; import LinearLIst.bag.Bag; import edu.princeton.cs.algs4.In; public class ...

  5. Spring实战(九)AOP概念以及Spring AOP

    1.横切关注点(cross-cutting concern) 软件开发中,散布于应用中多处的功能被称为横切关注点,如事务.日志.安全. 横切关注点从概念上是与应用的业务逻辑相分离的(但是往往会直接嵌入 ...

  6. mysql45讲

    一共48讲,学习时间2天. 开篇词 (1讲) 开篇词 | 这一次,让我们一起来搞懂MySQL 理论指导实践:先系统性的学习原理,再实践验证. 你可以从点到线再到面,形成自己到mysql知识网络. 在使 ...

  7. 怎样使用 v-if 实现 html 元素的显示 / 隐藏?

    1. 首先, 指令后的引号内是可以写 js 表达式的, 这点很重要. v-if 的用法很简单, 只需要给 v-if = " " 的引号内放一个 布尔值 即可. 注意: v-if 的 ...

  8. IntelliJ IDEA Spring boot devtools 实现热部署

    一.spring-boot-devtools是一个为开发者服务的一个模块,其中最重要的功能就是自动部署新代码. 二.原理 使用了两个ClassLoader,一个ClassLoader用来加载那些不会变 ...

  9. Qt常用快捷键

    F1        查看帮助F2        跳转到函数定义(和Ctrl+鼠标左键一样的效果)Shift+F2    声明和定义之间切换F4        头文件和源文件之间切换Ctrl+1     ...

  10. O054、Attach Volume 操作(Part II)

    参考https://www.cnblogs.com/CloudMan6/p/5631328.html     计算节点作为iSCSI initiator 访问存储节点 iSCSI Target 上的v ...