简介

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

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

安装

$ wget http://parallel-ssh.googlecode.com/files/pssh-2.3.1.tar.gz

$ tar -xzvf pssh-2.3..tar.gz

$ cd pssh-2.3.

$ python setup.py install

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]:

user1@127.0.0.1:
user2@127.0.0.2
127.0.0.3

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

$ pssh -i -h hosts.txt 'uptime'

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

附加工具

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

1、pscp

作用:传输文件到多个hosts,类似scp

示例:

$ pscp -h hosts.txt foo.txt /home/foo.txt

2、pslurp

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

示例:

$ pslurp -h hosts.txt /etc/hosts local_dir

3、pnuke

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

示例:

$ pnuke -h hosts.txt -l root java

4、prsync

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

示例:

$ prsync -r -h hosts.txt foo /home/foo

参考文档

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

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

最新文章

  1. Akka初步介绍
  2. SharePoint 2013 新功能探索 之 标注控件
  3. 51nod1476 括号序列的最小代价
  4. 利用ArcGIS Engine、VS .NET和Windows控件开发GIS应用
  5. Code generated using the T4 templates for Database First
  6. C++中的类和对象(一)
  7. 你真的了解JAVA中与Webservice相关的规范和实现吗?
  8. 学习jQuery必须知道的几种常用方法
  9. ⌈洛谷1312⌋⌈NOIP提高组2011⌋Mayan游戏【搜索】
  10. Spring注解 开发
  11. HDu 2544 最短路【dijkstra & floyed & SPFA 】
  12. lazarus的动态方法和虚拟方法
  13. php mysql procedure获取多个结果集
  14. [Unity3D]关于NaN(Not a Number)的问题
  15. 数据分析融入至BI工具的新思路
  16. 【原创】SQL Server常用脚本整理
  17. 【LeetCode 8_字符串_实现】String to Integer (atoi)
  18. ubuntu 16.04安装Chrome离线crx插件包
  19. Codeforces Round #311 (Div. 2) A,B,C,D,E
  20. 01-UIScrollView01-大图片展示

热门文章

  1. 【UVA1309】Sudoku(DLX)
  2. Educational Codeforces Round 53 (Rated for Div. 2) C. Vasya and Robot 【二分 + 尺取】
  3. 解决TextBox Ctrl+A不能全选的问题
  4. express框架开发笔记
  5. Class<T>和Class<?>区别
  6. 【luogu P1801 黑匣子_NOI导刊2010提高(06)】 题解
  7. 我的wmware
  8. vue2 自定义全局组件(Loading加载效果)
  9. 29.You executed the following command to perform a backup of the USERS tablespace:
  10. 動態SQL運用實例