PSSH介绍

pssh是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的。它的用法可以媲美ansible的一些简单用法,执行起来速度比ansible快它支持文件并行复制,远程命令执行,杀掉远程主机上的进程等等。

安装PSSH

[root@CentOS]# yum install pssh #CentOS 直接yum安装
#pssh 安装需要python环境,centos都自带Python2.7环境,所以不用再次安装python

 [root@CentOS7-5 ~]# rpm -ql pssh  #以下几个是pssh安装包带有的 自动化工具
 /usr/bin/pnuke # 在远程多台主机上并行killall 指定进程
  /usr/bin/prsync #使用rsync协议将本地文件同步到远程多台主机上
  /usr/bin/pscp.pssh # 将本地主机文件复制到多台远程主机上
  /usr/bin/pslurp #将远程主机上相同文件路径复制到本地主机上
  /usr/bin/pssh #远程多台主机并行执行命令

1. PSSH使用

在使用pssh的命令时,首先要保证本地主机与远程主机可以进行密钥认证,或者批量的远程主机账号密码相同。密钥认证请查看安全加密一章

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

·pssh实例

通过pssh批量关闭seLinux
pssh -H root@192.168.1.100 -i "sed -i "s@SELINUX=enforcing@SELINUX=disabled@" /etc/selinux/config"
pssh -H root@192.168.1.100 -i setenforce 0 通过pssh批量修改网卡名字
pssh -H root@192.168.1.100 -i "sed -i 's@GRUB_CMDLINE_LINUX="rhgb quiet"@GRUB_CMDLINE_LINUX="rhgb quiet net.ifnames=0" /etc/default/grub'
pssh -H root@192.168.1.100 -i "grub2-mkconfig -o /etc/grub2.cfg"
pssh -H root@192.168.1.100 -i reboot 将标准错误和标准正确重定向保存到指定目录文件
pssh -H 192.168.1.100 -o /log -e /log/error.log -i hostname

2. PSCP.PSSH使用

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

pscp 命令
-v:显示复制过程
-a:复制过程中保留常规属性
-r:递归复制目录
-h:host files
-H: user@host:port
-l: user
-p: 同上
-o: outdir
-e:error dir
-t:timeout
-r:递归复制目录下所有文件
与pssh命令的option 功能基本一样

·pscp实例

将本地test.sh 复制到/app/目录
pscp.pssh -H 192.168.1.100 /root/test/test.sh /app/
pscp.pssh -h host.txt /root/test/test.sh /app/ 将本地多个文件批量复制到/app/目录
pscp.pssh -H 192.168.1.100 /root/f1.sh /root/f2.sh /app/ 将本地目录批量复制到/app/目录
pscp.pssh -H 192.168.1.100 -r /root/test/ /app/

3. pslurp.pssh使用

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

pslurp 命令
# 这些选项同pscp命令的功能一样pslurp -vAr -h -H -l -p -o -e -t -O -x -X
-L:指定从远程主机下载到本机的存储的目录, pslurp 172.16.1.100 -L /data/pssh sourceFile localFileName

·pslurp实例

批量下载目标服务器的passwd文件至/data下,并更名为pass
pslurp -H 192.168.1.10 -L /data/ /etc/passwd pass

4. prsync使用

将本地的/etc/sysconfig目录递归同步到目标服务器的 /tmp/目录下,并保持原来的时间戳,使用用户 root
prsync -h host.txt -l root -a -r /etc/sysconfig /tmp/

5. pnuke使用

杀死目标服务器的syslog进程
pnuke -h host.txt syslog

自动化运维工具——pssh的更多相关文章

  1. 小型自动化运维工具pssh和传输工具rsync

    一.简单介绍 1.pssh全称是parallel-ssh,基于Python编写的并发在多台服务器上批量执行命令的工具.包括pssh,pscp,prsync,pnuke和pslurp.该项目包括pssh ...

  2. 自动化运维工具-pssh工具安装配置及简单使用讲解

    1.先决条件:安装pssh工具要求python版本大于2.4即可. 安装pssh工具的主机针对远程主机需要配置免秘钥认证: ssh-keygen -t rsa ssh-copy-id [remoteh ...

  3. 自动化运维工具pssh、pdsh、pscp

    pssh命令是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的,类似pdsh,个人认为相对pdsh更为简便,使用必须在各个服务器上配置好密钥认证访问. 以下 ...

  4. CheungSSH国产自动化运维工具开源Web界面

    CheungSSH web2.0 发布文档 CheungSSH 简介 CheungSSH是一款国人自主研发的Linux运维自动化管理服务器软件,秉着为企业降低运营成本,解放管理员双手和自动化生产的理念 ...

  5. 自动化运维工具Ansible详细部署 (转载)

    自动化运维工具Ansible详细部署 标签:ansible 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog. ...

  6. 自动化运维工具之 Ansible 介绍及安装使用

    一.初识Ansible 介绍: Absible 使用 模块(Modules)来定义配置任务.模块可以用标准脚本语言(Python,Bash,Ruby,等等)编写,这是一个很好的做法,使每个模块幂等.A ...

  7. 自动化运维工具之ansible

    自动化运维工具之ansible   一,ansible简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fab ...

  8. 自动化运维工具Ansible详细部署 - 人生理想在于坚持不懈 - 51CTO技术博客

    自动化运维工具Ansible详细部署 - 人生理想在于坚持不懈 - 51CTO技术博客 自动化运维工具Ansible详细部署

  9. 用自动化运维工具解放IT运维

    何谓自动化运维,即在最少的人工干预下,结合运用脚本与第三方工具,保证业务系统7*24小时高效稳定运行.这应该是所有业务系统运维终极目标. 我们对运维的要求通常是: 1.事前预警 在故障出现之前,管理人 ...

随机推荐

  1. CC11:链表分割

    题目 编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前 给定一个链表的头指针 ListNode* pHead,请返回重新排列后的链表的头指针.注意:分割以后保持 ...

  2. python之is 和 == 的区别//编码和解码

    一.is  和  ==  的区别: 1  .id()   内存地址 2.  ==   比较    #比较两边的值 3.   is    比较   #比较的是内存地址 数字,字符串,有小数据池 #数字小 ...

  3. @Column 注解详情

    @Column标记表示所持久化属性所映射表中的字段,该注释的属性定义如下: @Target({METHOD, FIELD}) @Retention(RUNTIME) public @interface ...

  4. 关于float和double类型能表示的数据范围和精度分析

    来自教材<计算机组成原理>p16 float:6--7位 double:15--16位 意思就是double类型的数据,你确实能表达出很大的数字,但是其只有15位是精确的. 1.计算机中, ...

  5. return void ajax

    public class UserInfo { private String name; private Integer age; public String getName() { return n ...

  6. Code First 2

    在codefirst一中也说了Mapping是实体与数据库的纽带,model通过Mapping映射到数据库,我们可以从数据库的角度来分析?首先是映射到数据库,这个是必须的.数据库里面一般包括表.列.约 ...

  7. 关于 SQL Server Reporting Services 匿名登录的解决方案

    每次访问报表都需要windows验证,这样的报表给客户确实很说不过去. SSRS 可以匿名登录的设定步骤: 环境: 开发工具:SQL Server Business Intelligence Deve ...

  8. JAVA 框架之面向对象设计原则

     面向对象设计原则:  单一职责原则 SRP :   一个类或者行为只做一件事 .  降低代码冗余,提高可重用性,可维护性,可扩展性,可读性 使用组合形式   里氏替换原则 LSP :  所有引用基类 ...

  9. springboot 学习笔记(三)

    (三)用jar包启动springboot项目 1.首先需要在pom文件中添加依赖,spring-boot-starter-parent包含有打包的默认配置,如果要修改的话要可以进行重新定义,具体内容参 ...

  10. java校验maven下载的jar文件

    有时候maven真的很坑! 有时候提示invalid LOC header (bad signat signature), 但又有时候什么都不提示,工程报错,情况有肯多中,不知道大家遇到过几种诡异的. ...