使用PSSH批量操作Linux服务器  http://www.cnblogs.com/lurenjiashuo/p/pssh.html

批量部署 自动化之 – [pssh] https://ruiaylin.github.io/2014/11/20/pssh/

PSSH基本使用介绍 https://tonydeng.github.io/2014/12/08/pssh/

简介

服务器多了,有一个问题就是如何批量快速操作多台服务器,在网上搜到了PSSH工具,试用了一下发现挺好用,推荐给大家。

pssh是一个python编写的可以在多台服务器上执行命令的轻量级管理工具,同时支持拷贝文件,python版本大于2.4即可,项目地址:parallel-ssh

安装

 

PSSH相关参数

  • -h 执行命令的远程主机列表文件,文件内容格式[user@]host[:port]
    • 如 test@127.0.0.2:229
  • -H 执行命令主机,主机格式 user@ip:port
  • -l 远程机器的用户名
  • -p 一次最大允许多少连接
  • -P 执行时输出执行信息
  • -o 输出内容重定向到一个文件
  • -e 执行错误重定向到一个文件
  • -t 设置命令执行超时时间
  • -A 提示输入密码并且把密码传递给ssh(如果机器都是ssh key打通的则无需加-A)
  • -O 设置ssh一些选项
  • -x 设置ssh额外的一些参数,可以多个,不同参数间空格分开
  • -X 同-x,但是只能设置一个参数
  • -i 显示标准输出和标准错误在每台host执行完毕后

用法示例

先创建一个文本文件hosts.txt,存放要操作的机器列表,格式为[user@]host[:port]:

用pssh查看所有服务器的uptime:

可根据需要把 update 换为别的命令

附加工具

pssh安装后附加了一些很好用的工具,主要有:

1、pscp

作用:传输文件到多个hosts,类似scp, 安装后可能是: pscp.pssh ,查看 /usr/bin下面就知道是什么命令。

示例:

2、pslurp

作用:从多台远程机器拷贝文件到本地

示例:

3、pnuke

作用:并行在远程主机杀进程

示例:

4、prsync

作用:使用rsync协议从本地计算机同步到远程主机

示例:

参考文档

http://www.opstool.com/article/266

http://linux.die.net/man/1/pssh