使用PSSH批量操作Linux服务器
简介
服务器多了,有一个问题就是如何批量快速操作多台服务器,在网上搜到了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服务器的更多相关文章
- python批量操作Linux服务器脚本,ssh密码登录(执行命令、上传、下载)(一)
-*- paramiko.util.log_to_file( ssh = paramiko.SSHClient() ssh.set_missing ...
- python批量操作Linux服务器脚本,key登录(执行命令、上传、下载)(二)
-*- 2 #批量操作linux服务器(执行命令,上传,下载) 3 #!/usr/bin/python 4 import paramiko 5 import datetime ...
- Python批量操作Linux服务器执行命令
#-*- coding: utf-8 -*- #!/usr/bin/python import paramiko import threading def ssh2(ip,username,passw ...
- 使用PSSH批量SSH操作Linux服务器
http://www.opstool.com/article/266 服务器多了,有一个烦恼就是如何批量快速操作一堆服务器.这里我推荐一下经常使用利器pssh.这个工具给我的工作带来了莫大的帮助. 简 ...
- Linux服务器安全配置
众所周知,网络安全是一个非常重要的课题,而服务器是网络安全中最关键的环节.Linux被认为是一个比较安全的Internet服务器,作为一种开放源代码操作系统,一旦Linux系统中发现有安全漏洞,Int ...
- .NET跨平台之旅:将QPS 100左右的ASP.NET Core站点部署到Linux服务器上
今天下午我们将生产环境中一个单台服务器 QPS(每秒请求数)在100左右的 ASP.NET Core 站点部署到了 Linux 服务器上,这是我们解决了在 .NET Core 上使用 EnyimMem ...
- 如何使用Linux命令行查看Linux服务器内存使用情况?
一个服务器,最重要的资源之一就是内存,内存够不够用,是直接关系到系统性能的关键所在. 本文介绍如何查看Linux服务器内存使用情况, 1.free命令 free -m [root@localhost ...
- 检查Linux服务器性能
如果你的Linux服务器突然负载暴增,告警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在? 概述通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解. • uptime• ...
- linux下的ssh工具之,本地上传到linux服务器and Linux服务器文件另存为本地。非sftp工具。
首先,当你只有一个ssh工具可以连接linux,但你有想把文件在 linux 和windows(本地)直接的切换.其实可以的: 本文参考 1.将本地的文件,放到ssh远程的linux服务器上: 首先要 ...
随机推荐
- H5中的微信支付、支付宝支付
微信支付的申请: 公众号支付.扫码支付等在微信公众平台.移动端的申请在微信开放平台 公众号支付流程:申请微信公众号(服务号并完成微信认证)——申请微信支付商户号(申请微信支付,资料审核通过以后,请前往 ...
- 宠物商城后台管理系统(springMVC+Mybatis+数据库)
mysql数据库 create database swager; use swager; #类别 create table Category( id int primary key auto_incr ...
- Java8函数之旅 (六) -- 使用lambda实现Java的尾递归
前言 本篇介绍的不是什么新知识,而是对前面讲解的一些知识的综合运用.众所周知,递归是解决复杂问题的一个很有效的方式,也是函数式语言的核心,在一些函数式语言中,是没有迭代与while这种概念的,因为此类 ...
- reactJs 基础
react不是一个完整的mvc,mvvm框架. react跟web components 不冲突 背景原理:基于React进行开发时所有的DOM构造都是通过虚拟DOM进行,每当数据变化时,React ...
- Entity Framework 六
实体框架中的存储过程: 我们在创建edmx的时候把存储过程勾选了,所以在我们的上下文上中生成了方法. 存储过程为:就是需要显示多个表的字段.以往需要显示多个表的字段都是新建一个类把需要的字段当做属性写 ...
- mac install PyQt5
1. install brew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/insta ...
- vue webpack多页面构建
项目示例地址: https://github.com/ccyinghua/webpack-multipage 项目运行: 下载项目之后 # 下载依赖 npm install # 运行 npm run ...
- TIDB4 —— 三篇文章了解 TiDB 技术内幕 - 谈调度
原文地址:https://pingcap.com/blog-cn/tidb-internal-3/ 为什么要进行调度 先回忆一下第一篇文章提到的一些信息,TiKV 集群是 TiDB 数据库的分布式 K ...
- js如何判断数据类型
1.最常见的判断方法:typeof console.log(typeof a) ------------> string console.log(typeof b) ------------&g ...
- Linux进程间通信---管道和有名管道
一.管道 管道:管道是一种半双工的通信方式,数据只能单方向流动,而且只能在具有亲缘关系的进程间使用,因为管道 传递数据的单向性,管道又称为半双工管道.进程的亲缘关系通常是指父子进程关系. 管道的特点决 ...