使用并行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码(车架号)在什 ...
随机推荐
- 【进阶技术】一篇文章搞掂:Spring高级编程
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文基于<Spring5高级编程>一书进行总结和扩展,大家也可以自行研读此书. 十一.任务调度 任务调度主要由三部分组 ...
- 51、tf-idf值提取关键词
import testWord2vec2 as tw import tensorflow_util as tu import numpy as np model = tw.load_model() n ...
- upc组队赛6 Canonical Coin Systems【完全背包+贪心】
Canonical Coin Systems 题目描述 A coin system S is a finite (nonempty) set of distinct positive integers ...
- HTML5网页如何让所有的浏览器都能识别语义元素标签样式
浏览器对语义元素的支持情况 如今HTML5愈来愈引发大家的关注了,但目前支持HTML5的浏览器还不是主流,特别是国内用户近50%以上仍旧使用IE6,由于支持HTML5的IE9不支持Xp系统安装,这样未 ...
- shell编程:有类型的变量
1.通过 declare 和 typeset 命令 declare 和 typeset 两者等价 declare 和 typeset 都是用来定义变量类型的 下面以 declare 进行总结 2.de ...
- export的用法
定义环境变量并且赋值 # export MYENV= //定义环境变量并赋值 # export -p declare -x HOME=“/root“ declare -x LANG=“zh_CN.UT ...
- yum安装LAMP
安装LAMP环境二进制包安装,先更新yum源,PHP 7.0.33 扩展可选 yum -y install mysql mysql-server mysql-devel httpd httpd-dev ...
- Vue篇1
2019 Vue 面试题汇总(持续更新中...) 1. vue中的MVVM模式 即Model-View-ViewModel. Vue是以数据为驱动的,Vue自身将DOM和数据进行绑定,一旦创建绑定,D ...
- 解决HDFS小文件带来的计算问题
hive优化 一.小文件简述 1.1. HDFS上什么是小文件? HDFS存储文件时的最小单元叫做Block,Hadoop1.x时期Block大小为64MB,Hadoop2.x时期Block大小为12 ...
- NOPI Excel 数据导入到数据库
/// <summary> /// 上传excel文件 并将文件数据导入到数据库 /// </summary> /// <param name="file&qu ...