使用并行ssh提高工作效率
我们经常需要ssh
到多个主机上执行相同的命令,为了提高效率,我们通常会自己写个脚本,循环遍历执行我们的命令,比如:
for host in `cat hosts.txt`;do
ssh username@$host cmd
done
采用这种方式的问题是:
- 必须自己写脚本,且正确性没法保证。
- 各个主机执行任务是串行的,必须前一台主机执行完毕后,下一台主机才能执行,难以实现并行执行。
我们可以使用parallel-ssh
工具来实现并行ssh
远程执行命令,它是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,目标也是简化大量计算机的管理,项目地址:https://code.google.com/p/parallel-ssh/
pssh
包安装5个实用程序:parallel-ssh
、parallel-scp
、parallel-slurp
、parallel-nuke
和parallel-rsync
。每个实用程序都并行地操作多个主机。
- parallel-ssh 在多个主机上并行地运行命令。
- parallel-scp 把文件并行地复制到多个主机上。
- parallel-rsync 通过 rsync 协议把文件高效地并行复制到多个主机上。
- parallel-slurp 把文件并行地从多个远程主机复制到中心主机上。
- parallel-nuke 并行地在多个远程主机上杀死进程。
使用它首先需要安装,ubuntu已经集成到软件包中,直接使用apt-get
安装:
sudo apt-get install pssh
为了简便,设置以下alias:
alias pssh='parallel-ssh'
alias pscp='parallel-scp'
编写需要远程操作的host列表hosts.txt
:
node1
node2
node3
...
node100
使用时需要指定用户名和输入用户密码(必须所有主机的用户和密码相同)以及远程主机列表,通过-l username
选项指定用户名,使用-A
选项指定需要输入密码,使用-h
指定主机列表,比如在所有的主机执行uptime
操作:
pssh -P -l foo -A -h hosts.txt uptime
若我们当前主机的登录名为fgp
,且fgp
能够免密码登录hosts.txt
的所有主机,则可以省略用户名和密码。比如,所有的主机执行uptime
操作,并打印结果:
pssh -P -h hosts.txt uptime
主机太多了,把输出保存到文件中:
pssh -o uptime_result -h hosts.txt uptime
传输本地文件到所有的主机中:
pscp -h hosts.txt local_file.txt ~/target_file.txt
以上是简单使用方法,掌握以上的这些操作足够完成我们大多数工作,提高工作效率。
LikeBe the first to like this
No labels Edit Labels
User icon: Add a picture of yourself
Write a comment…
使用并行ssh提高工作效率的更多相关文章
- 程序员提高工作效率的15个技巧【Facebook】
程序员提高工作效率的15个技巧[Facebook] 作者: habadog 日期: 2015 年 02 月 13 日发表评论 (0)查看评论 程序员提高工作效率的15个技巧[Facebook] 1,D ...
- 线上操作使用tmux提高工作效率
对于常常在线上操作的人来说有一种烦恼,就是在操作过程中,有事离开了一下,电脑自己主动睡眠了.然后网络断开连接.这时候任务就要又一次跑.非常烦恼. tmux能够解决问题. tmux能够看成虚拟屏幕,不受 ...
- Windows 下有什么软件能够极大地提高工作效率
Windows 下有什么软件能够极大地提高工作效率?修改 可以推荐一些好的应用或者有趣的程序,能提升工作效率或者能让人眼前一亮的.修改 举报1 条评论 分享 • 邀请回答 按票数排序按时间排序 2 ...
- Android Studio in OSX 提高工作效率的快捷键
前言 本篇文章参考了<倍数提高工作效率的Android Studio>一文,快捷键基于OS X系统. OS X Yosemite 10.10.5 Android Studio 1.3.1 ...
- 倍数提高工作效率的 Android Studio 奇技
来源:JeremyHe 链接:http://zlv.me/posts/2015/07/13/14_android-studio-tips/ 这是从Philippe Breault的系列文章<An ...
- [转]倍数提高工作效率的 Android Studio 奇技
转自:http://android.jobbole.com/81687/ 倍数提高工作效率的 Android Studio 奇技 2015/10/08 · 技术分享 · 4 评论· Android S ...
- 15款提高工作效率的 Web 项目管理工具
在今天的快节奏的商业世界里,能够通过计划.组织.和管理资源池以及评估开发资源的模式来管理一个项目,是一个很艰巨的任务. 有很多现成的项目管理软件来帮助减轻项目管理的负担,并且他们几乎覆盖了所有类型的业 ...
- paip.提高工作效率--数据绑定到table原则和过程Angular js jquery实现
paip.提高工作效率--数据绑定到table原理和流程Angular js jquery实现 html #--keyword 1 #---原理和流程 1 #----jq实现的代码 1 #----- ...
- Vin码识别(车架号识别)技术,摆脱手动录入提高工作效率
本文主题:Vin码识别(车架号识别)技术,摆脱手动录入提高工作效率 本文关键词:Vin码识别,汽车Vin码识别,车架号识别,汽车车架号识别,车代码识别,车代号识别 本文主旨:一.Vin码(车架号)在什 ...
随机推荐
- [NOIP模拟测试34]反思+题解
不要陷入思维定势,如果长时间没有突破就要考虑更改大方向. 不要把简单问题复杂化. 做完的题就先放下,不管能拿多少分.不能过一段时间就回来调一下. $Solutions:$ A.次芝麻 因为$n+m$始 ...
- Jquery 实现回车键触发功能
keyup,上抬键盘 .$(function(){ 方法一: $(document).keyup(function(event){ if(event.keyCode ==13){ alert(&quo ...
- postgresql的规则系统
" class="wiz-editor-body wiz-readonly" contenteditable="false"> Postgres ...
- C#中Json转换主要使用的几种方法!
这篇主要介绍2.4.第三种方法使用的比较局限,所以我没有深入学习. 第二种方法 我使用比较多的方式,这个方法是.NET内置的,使用起来比较方便 A.利用serializer获取json的泛型对象 利用 ...
- java获取字符串编码和转换字符串编码
public class EncodingUtil { // 这里可以提供更多地编码格式,另外由于部分编码格式是一致的所以会返回 第一个匹配的编码格式 GBK 和 GB2312 public stat ...
- 简单了解Redis
redis是什么 redis是一种支持key-value等多种数据结构的存储系统,可用于缓存,事件发布,消息队列等场景,支持多种数据类型 string.hash.list.set.zset.而且基于内 ...
- 100个常用js代码(转载)
作者:小萧ovo链接:https://zhuanlan.zhihu.com/p/23076321来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. JavaScript定点 ...
- Spring Boot控制上传文件大小
spring: http: multipart: max-file-size: 5MB max-request-size: 20MB
- vmware安装minimal centos报错/etc/rc5.d/s99local : line:25 : eject : command not found
今天在用centos mini 版的时候创建虚拟机出现错误提示:vmware安装minimal centos报错/etc/rc5.d/s99local : line:25 : eject : comm ...
- 导出CSV格式
import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype. ...