全称是parallel-ssh,基于Python编写的并发在多台服务器上批量执行命令的工具。包括pssh,pscp,prsync,pnuke和pslurp。该项目包括psshlib,可以在自定义应用程序中使用。它相当于ansible的简化版,执行起来速度比ansible快,支持文件并行复制,远程命令执行,杀掉远程主机上的进程,杀手锏是文件并行复制。
主要用法:
pssh命令 在远程主机上执行本地命令或者脚本
pscp命令 将本地文件拷贝至多个远端主机
pslurp命令 从多台远程机器拷贝文件到本地
pnuke命令 在远端主机杀进程
prsync命令 使用rsync协议从本地计算机同步到远程主机,然后写入需要控制的机器,,仅包含在pslurp里的,,例如,先创建一个脚本,并将其传入到每个机器上,获取每个机器的hostname并写入到一个文件,然后将每个机器上的该文件下载到本地。,准备:,,在使用pssh执行脚本后,将每个机器的hostname写入到本地的某个文件了,,最后使用pslurp将其拷贝到本地的某个目录,,,例如杀死每个机器的nginx进程查看每个节点的nginx的状态,,执行命令,查看效果,,先搜索仓库里的ansible源,,然后安装centos提供的ansible源,,然后每个机器安装ansible。(其实只需在管理主机上安装,都安装只是为了方便换其他机器后使用),,,,,这里将三个节点放入cluster组中,后面执行命令时可指定针对某个组执行。,针对cluster组里的机器执行ping命令,,若要针对所有组的机器执行命令,则使用all即可。,,修改sshd_config,改sshd_config文件,取消注释Subsystem,,修改ansible配置文件,添加scp_if_ssh=True,,在执行时已经没有warning了,,ansible的命令格式为, ansible 主机群组名 -m 命令模块名 -a “批量执行的操作”,常用模块,,,script脚本模块,,copy模块,相当于scp,,,其他模块不再一一列举,可通过ansible-doc 模块名查看具体用法例如: ansible-doc yum,,playbook即剧本,由一个或多个play组成,play的功能就是为归为一组的主机编排要执行的一系列task,其中每一个task就是调用Ansible的一个命令模块。,playbook的核心元素包括:,没用过。,参考资料:https://www.cnblogs.com/spec-dog/p/12736447.html,自定义脚本,一个最简单的脚本的方式