简介

服务器多了,有一个问题就是如何批量快速操作多台服务器,在网上搜到了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

使用PSSH批量操作Linux服务器的更多相关文章

  1. python批量操作Linux服务器脚本,ssh密码登录(执行命令、上传、下载)(一)

     -*-          paramiko.util.log_to_file(         ssh = paramiko.SSHClient()          ssh.set_missing ...

  2. python批量操作Linux服务器脚本,key登录(执行命令、上传、下载)(二)

       -*-   2 #批量操作linux服务器(执行命令,上传,下载)   3 #!/usr/bin/python   4 import paramiko   5 import datetime   ...

  3. Python批量操作Linux服务器执行命令

    #-*- coding: utf-8 -*- #!/usr/bin/python import paramiko import threading def ssh2(ip,username,passw ...

  4. 使用PSSH批量SSH操作Linux服务器

    http://www.opstool.com/article/266 服务器多了,有一个烦恼就是如何批量快速操作一堆服务器.这里我推荐一下经常使用利器pssh.这个工具给我的工作带来了莫大的帮助. 简 ...

  5. Linux服务器安全配置

    众所周知,网络安全是一个非常重要的课题,而服务器是网络安全中最关键的环节.Linux被认为是一个比较安全的Internet服务器,作为一种开放源代码操作系统,一旦Linux系统中发现有安全漏洞,Int ...

  6. .NET跨平台之旅:将QPS 100左右的ASP.NET Core站点部署到Linux服务器上

    今天下午我们将生产环境中一个单台服务器 QPS(每秒请求数)在100左右的 ASP.NET Core 站点部署到了 Linux 服务器上,这是我们解决了在 .NET Core 上使用 EnyimMem ...

  7. 如何使用Linux命令行查看Linux服务器内存使用情况?

    一个服务器,最重要的资源之一就是内存,内存够不够用,是直接关系到系统性能的关键所在. 本文介绍如何查看Linux服务器内存使用情况, 1.free命令 free -m [root@localhost ...

  8. 检查Linux服务器性能

    如果你的Linux服务器突然负载暴增,告警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在? 概述通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解. • uptime• ...

  9. linux下的ssh工具之,本地上传到linux服务器and Linux服务器文件另存为本地。非sftp工具。

    首先,当你只有一个ssh工具可以连接linux,但你有想把文件在 linux 和windows(本地)直接的切换.其实可以的: 本文参考 1.将本地的文件,放到ssh远程的linux服务器上: 首先要 ...

随机推荐

  1. Shell脚本学习之expect命令

     转载:http://blog.csdn.net/leexide/article/details/17485451 目录(?)[-] 一概述 二expect的安装 一Tcl 安装 二expect 安装 ...

  2. LA 4254 贪心

    题意:有 n 个工作,他的允许的工作时间是 [l,r] ,工作量是 v ,求CPU最速度的最小值. 分析: 可能太久没有做题了,竟然脑子反应好慢的.还是很容易想到二分,但是二分怎么转移呢? 可以看出, ...

  3. 给自己的网站加上robots.txt

    今天给自己的网站加了一个robots.txt,在网上收集整理了一些资料,给自己网站也加上了robots.txt ! 顺便给大家分享一下! 一.robots.txt是什么? robots.txt是一个纯 ...

  4. 2018.12.25 Spring中JDBCTemplate模版API学习

    1 Spring整合JDBC模版 1.1 spring中土拱了一个可以操作数据库的对象.对象封装了jdbc技术 JDBCTemplateJDBC模板对象 1.2 与DBUtils中的QueryRunn ...

  5. 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用

    一,问题描述MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用 ...

  6. 【洛谷P2341】受欢迎的牛

    受欢迎的牛 题目描述 一些可以当明星的牛,一定会构成一个强连通分量,我们可以先缩点,最后统计一下出度为零的强连通分量大小即可, 若出度为零的强连通分量个数大于1,则输出0 #include<io ...

  7. 【luogu P1343 地震逃生】 题解

    题目链接:https://www.luogu.org/problemnew/show/P1343 菜 #include <queue> #include <cstdio> #i ...

  8. o'Reill的SVG精髓(第二版)学习笔记——第七章

    第七章:路径 所有描述轮廓的数据都放在<path>元素的d属性中(d是data的缩写).路径数据包括单个字符的命令,比如M表示moveto,L表示lineto.接着是该命令的坐标信息. 7 ...

  9. MySQL存储引擎与索引

    引言: MySQL存储引擎主要分为 InnoDB 存储引擎与 MyISAM 存储引擎.都采用B+数的存储结构. 应用场景: InnoDB适合:(1)可靠性要求比较高,要求事务:(2)大量 insert ...

  10. Navicat for Mysql中错误提示索引过长1071-max key length is 767 byte

    1.建用户信息表 tb_person_info create table tb_person_info( user_id int(10) auto_increment, `name` varchar( ...