pssh 自动化运维

我们平时管理几台服务器,我们可以用 ssh 这个简单高效的管理工具远程登陆进行管理,让我们的工作变的简便,快捷,然而,如果要管理成百上千台呢?即使拥有 ssh 这种简便快捷的工具,也会让人大感 头疼,那么有没有一款可以同时管理 N 台服务器的管理工具呢?

答案当然是肯定的,接下来我们就介绍一款与 ssh 有着近亲血脉的批量管理工具


PSSH

PSSH 是一个可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中比较出色的一款管理软件。

*注意:要使用 PSSH 时,必须在各个服务器上配置好密钥认证访问!!!


接下来我们就来部署这个环境,一起来体验一下吧!!!

下载安装:

wget http://www.theether.org/pssh/pssh-1.4.3.tar.gz  ;  cd  pssh-1.4.3

python  setup.py  install

安装完成,很简单吧?

如果 python  setup.py   install  出现以下错误

请不要担心,这个错误是由于 Python 没有安装 setuptools 这个模块,这是一个第三方模块,只要下载安装即可

若出现如图错误,只要将  --no-check-certificate  加上即可,如下

wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz --no-check-certificate

tar zxvf setuptools-0.6c11.tar.gz
   cd setuptools-0.6c11
   python setup.py build
   python setup.py install

然后再跳回到 pssh-1.4.3 执行 python setup.py install ,完成

环境部署完成,接下来我们就要学习怎样使用了

pssh 包安装5个实用程序

pssh 在多个主机上并行地运行命令。

pscp 把文件并行地复制到多个主机上。

prsync 通过rsync 协议把文件高效地并行复制到多个主机上。

pslurp 把文件并行地从多个远程主机复制到中心主机上。

pnuke 并行地在多个远程主机上杀死进程

PSSH相关参数:

pssh在多个主机上并行地运行命令

-h 执行命令的远程主机列表,文件内容格式[[email protected]]host[:port]

如 [email protected]:229

-H 执行命令主机,主机格式 [email protected]:port

-l 远程机器的用户名

-p 一次最大允许多少连接

-P 执行时输出执行信息

-o 输出内容重定向到一个文件

-e 执行错误重定向到一个文件

-t 设置命令执行超时时间

-A 提示输入密码并且把密码传递给ssh(如果私钥也有密码也用这个参数)

-O 设置ssh一些选项

-x 设置ssh额外的一些参数,可以多个,不同参数间空格分开

-X 同-x,但是只能设置一个参数

-i 显示标准输出和标准错误在每台host执行完毕后

远程执行:

pssh -i -h list.txt ‘df -h’

时间: 2024-08-26 17:48:33

pssh 自动化运维的相关文章

tree老师:PSSH自动化运维实战

pssh是一个可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的.使用是必须在各个服务器上配置好密钥认证访问. pssh是用python来写的一个管理工具,管理几万台服务器,就是因为使用各式各样的工具. 如果服务器超过50台,上百台,就不能再用shell来写个for循环来执行了,这时候就会用到pssh. pssh 包安装 5 个实用程序: pssh 在多个主机上并行地运行命令. pscp 把文件并行地复制到多个主机上. prsync 通过 rsync 协议把文件高效地并行复

企业实战脚本案例3:批量管理自动化运维100台小规模服务器

批量管理自动化运维100台小规模服务器 目录 1.脚本背景介绍 2.脚本技术需求分析 2.1 SSH免登陆认证 2.2 Expect实现key分发 2.2 PSSH家族命令详解 3.脚本功能及实现过程 3.1 脚本运行环境介绍 3.2 脚本功能介绍 3.3 脚本编写思路 3.4 脚本编写案例 一.脚本背景介绍 在企业中经常会用遇到小规模的集群服务器,在日常的管理中经常会遇到重复性的动作,如更新备上百台服务器上的ssh公钥.备份上百台服务器上的/etc/passwd配置文件等等,通常情况下采用专用

自动化运维工具介绍

运维目标有三个阶段,第一是追求稳定性,第二是追求标准化,第三是追求自动化.对于第三阶段来说,什么是运维自动化呢?简单地讲,运维自动化就是将日常重复性工作按照事先设定好的规则,在一定时间范围内自动化运行,而不需要人工参与.接下来简单介绍运维自动化工具,要了解运维平时用到的自动化工具,就需要了解运维人员的日常工作有哪些. 一.运维的日常工作 运维的日常工作可以总结为以下四个部分,分别是: (1) 系统安装 (2) 应用程序配置(Configuration) (3) 命令执行与控制(Command a

Python自动化运维课程学习--Day3

本文为参加老男孩Python自动化运维课程第三天学习内容的总结. 大致内容如下: 1.文件操作 2.字符编码转码相关操作 3.函数 0.关于本文中所有运行Python代码的环境: --操作系统:Ubuntu 16.10 (Linux 4.8.0) --Python版本:3.5.2 python2.7.12 --Python IDE: PyCharm 2016.3.2 一.文件操作: 1.文件操作流程:以只读.写(覆盖写).追加写.读写.追加读写.二进制读写等模式打开文件 ==> 得到文件句柄,并

linux 自动化运维之Cobbler

一.Cobbler 简介 1.Cobbler 概述 Cobbler由python语言开发,是对PXE和Kickstart以及DHCP的封装.融合很多特性,提供了CLI和Web的管理形式.更加方便的实行网络安装.同时,Cobbler也提供了API接口,使用其它语言也很容易做扩展.它不紧可以安装物理机,同时也支持kvm.xen虚拟化.Guest OS的安装.更多的是它还能结合Puppet等集中化管理软件,实现自动化的管理. 2.新旧对比 以前自动化安装系统得先设置一个网络环境,可是设置网络环境涉及到

自动化运维工具之ansible

ansible ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能. ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架. 主要包括: (1).连接插件connection plugins:负责和被监控端实现通信: (2).host inventory:指定

自动化运维—tomcat服务起停(mysql+shell+django+bootstrap+jquery)

项目简介: 项目介绍:自动化运维是未来的趋势,最近学了不少东西,正好通过这个小项目把这些学的东西串起来,练练手. 基础架构: 服务器端:web框架-Django 前端:html css jQuery bootstrap 脚本:shell 适用系统:redhat5.8/redhat6.6 平台已实现功能: 中间件和数据库软件的启停和状态检查 (tomcat,nginx,apache,oracle,mysql) 完整功能设计图: 效果图: 架构图(简要): 项目源码:https://github.c

ansible自动化运维必备工具详解

第2章 ansible简单介绍: 2.1 ansible是什么? ansible是新出现的 自动化 运维工具 , 基于Python研发 . 糅合了众多老牌运维工具的优点实现了批量操作系统配置.批量程序的部署.批量运行命令等功能. 仅需在管理工作站上安装 ansible 程序配置被管控主机的 IP 信息,被管控的主机无客户端. ansible 应用程序存在于 epel( 第三方社区 ) 源,依赖于很多 python 组件 python语言是运维人员必会的语言!ansible是一个基于Python开

Python自动化运维课程学习--Day2

本文为参加老男孩Python自动化运维课程第二天学习内容的总结. 大致内容如下: 1.python模块初识 2.python程序运行流程 3.python数据类型(只讲了numbers, bool, strings, bytes, list, tuple, dict, set) 4.python数据运算 0.关于本文中所有运行Python代码的环境: --操作系统:Ubuntu 16.10 (Linux 4.8.0) --Python版本:3.5.2 --Python IDE: PyCharm