一、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. 使用logstash迁移elasticsearch数据

    支持同集群复制和跨集群复制 优点:通过简单配置即可实现.零编码. 缺点:logstash 单点运行迁移,速度一般. 以es2.2.1  logstash2.2.1 为例 以下logstash 配置功能 ...

  2. PHP学习(6)——代码重用与函数编写的一些注意事项

    一个新的项目是这样创建的:它将已有的可重新利用的组件进行组合,并将新的开发难度降低到最小. 代码重用的好处:降低成本.提升可靠性和一致性. 1.使用require()和include()函数 使用一条 ...

  3. 深入应用C++ 11 C2

    template<typename T> void print(T& t) { cout << "lvalue" << endl; } ...

  4. Analyzing Polyline -- Codeforces Round #123 (Div. 2)

    题意:https://codeforc.es/problemset/problem/195/D 求折线段数. 思路: 对pos进行sort,对不同区间段加k,两个dp处理不同k>0 or k&l ...

  5. 1-python django的创建

    一.Virtualenv(我的python环境是3.7) 1.虚拟环境创建(针对python版本和django的版本不一致的) 输入 pip install virtuallenv ,看到如下信息就是 ...

  6. 小白学习django第一站-环境配置

    Django简单来说就是用Python开发的一个免费开源的Web框架 使用Django,使你能够以最小的代价构建和维护高质量的Web应用. 开搞!!! 工具准备: linux(ubuntu) + py ...

  7. 【xlwings】 wps 和 office 的excel creat_sheet区别

    最近在学习 xlwings,参考学习的网址:https://www.jianshu.com/p/b534e0d465f7 写得很棒,学到了很多. 在新建sheet表单, 发现一个问题. import ...

  8. python基础知识0-3

    一.根据用户输入内容输出其权限 # 根据用户输入内容打印其权限    # FYT --> 超级管理员 # eric --> 普通管理员 # tony,rain --> 业务主管 # ...

  9. 关闭钩子(shutdown hook)的作用以及在Tomcat中的使用

    在很多实际应用环境中,当用户关了应用程序时,需要做一些善后清理工作,但问题是,用户有时并不会按照推荐的方法关闭应用程序,很有可能不做清理工作,例如在Tomcat的部署应用中,通过实例化一个Server ...

  10. 搭建自己的框架WedeNet(三)

    WedeNet2018.BussinessLogic-业务逻辑层:结构如下: 基类: using System; using System.Collections.Generic; using Sys ...