前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >自动化运维之PSSH

自动化运维之PSSH

作者头像
惨绿少年
发布于 2019-01-03 04:07:51
发布于 2019-01-03 04:07:51
2.2K00
代码可运行
举报
文章被收录于专栏:惨绿少年惨绿少年
运行总次数:0
代码可运行

1.PSSH简介

PSSH提供OpenSSH和相关工具的并行版本。包括pssh,pscp,prsync,pnuke和pslurp。该项目包括psshlib,可以在自定义应用程序中使用。 pssh是python写的可以并发在多台机器上批量执行命令的工具,它的用法可以媲美ansible的一些简单用法,执行起来速度比ansible快它支持文件并行复制,远程命令执行,杀掉远程主机上的进程等等。杀手锏是文件并行复制,,当进行再远程主机批量上传下载的时候,最好使用它。 项目地址: https://code.google.com/archive/p/parallel-ssh/

2.PSSH使用

2.1 安装PSSH

前提条件:注意需要安装 python 2.4 或以上版本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wget https://clsn.io/files/pssh/pssh-2.3.1.tar.gz
tar zxf pssh-2.3.1.tar.gz
cd pssh-2.3.1
python setup.py install

安装过程

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@clsn.io /opt/pssh-2.3.1] 
#python setup.py install
running install
running build
running build_py
creating build
creating build/lib
creating build/lib/psshlib
copying psshlib/task.py -> build/lib/psshlib
copying psshlib/askpass_server.py -> build/lib/psshlib
copying psshlib/__init__.py -> build/lib/psshlib
copying psshlib/cli.py -> build/lib/psshlib
copying psshlib/psshutil.py -> build/lib/psshlib
copying psshlib/manager.py -> build/lib/psshlib
copying psshlib/askpass_client.py -> build/lib/psshlib
copying psshlib/version.py -> build/lib/psshlib
copying psshlib/color.py -> build/lib/psshlib
running build_scripts
creating build/scripts-2.6
copying and adjusting bin/pssh -> build/scripts-2.6
copying and adjusting bin/pnuke -> build/scripts-2.6
copying and adjusting bin/prsync -> build/scripts-2.6
copying and adjusting bin/pslurp -> build/scripts-2.6
copying and adjusting bin/pscp -> build/scripts-2.6
copying and adjusting bin/pssh-askpass -> build/scripts-2.6
changing mode of build/scripts-2.6/pssh from 644 to 755
changing mode of build/scripts-2.6/pnuke from 644 to 755
changing mode of build/scripts-2.6/prsync from 644 to 755
changing mode of build/scripts-2.6/pslurp from 644 to 755
changing mode of build/scripts-2.6/pscp from 644 to 755
changing mode of build/scripts-2.6/pssh-askpass from 644 to 755
running install_lib
creating /usr/lib/python2.6/site-packages/psshlib
copying build/lib/psshlib/task.py -> /usr/lib/python2.6/site-packages/psshlib
copying build/lib/psshlib/askpass_server.py -> /usr/lib/python2.6/site-packages/psshlib
copying build/lib/psshlib/__init__.py -> /usr/lib/python2.6/site-packages/psshlib
copying build/lib/psshlib/cli.py -> /usr/lib/python2.6/site-packages/psshlib
copying build/lib/psshlib/psshutil.py -> /usr/lib/python2.6/site-packages/psshlib
copying build/lib/psshlib/manager.py -> /usr/lib/python2.6/site-packages/psshlib
copying build/lib/psshlib/askpass_client.py -> /usr/lib/python2.6/site-packages/psshlib
copying build/lib/psshlib/version.py -> /usr/lib/python2.6/site-packages/psshlib
copying build/lib/psshlib/color.py -> /usr/lib/python2.6/site-packages/psshlib
byte-compiling /usr/lib/python2.6/site-packages/psshlib/task.py to task.pyc
byte-compiling /usr/lib/python2.6/site-packages/psshlib/askpass_server.py to askpass_server.pyc
byte-compiling /usr/lib/python2.6/site-packages/psshlib/__init__.py to __init__.pyc
byte-compiling /usr/lib/python2.6/site-packages/psshlib/cli.py to cli.pyc
byte-compiling /usr/lib/python2.6/site-packages/psshlib/psshutil.py to psshutil.pyc
byte-compiling /usr/lib/python2.6/site-packages/psshlib/manager.py to manager.pyc
byte-compiling /usr/lib/python2.6/site-packages/psshlib/askpass_client.py to askpass_client.pyc
byte-compiling /usr/lib/python2.6/site-packages/psshlib/version.py to version.pyc
byte-compiling /usr/lib/python2.6/site-packages/psshlib/color.py to color.pyc
running install_scripts
copying build/scripts-2.6/pscp -> /usr/bin
copying build/scripts-2.6/prsync -> /usr/bin
copying build/scripts-2.6/pnuke -> /usr/bin
copying build/scripts-2.6/pssh -> /usr/bin
copying build/scripts-2.6/pssh-askpass -> /usr/bin
copying build/scripts-2.6/pslurp -> /usr/bin
changing mode of /usr/bin/pscp to 755
changing mode of /usr/bin/prsync to 755
changing mode of /usr/bin/pnuke to 755
changing mode of /usr/bin/pssh to 755
changing mode of /usr/bin/pssh-askpass to 755
changing mode of /usr/bin/pslurp to 755
running install_data
creating /usr/man
creating /usr/man/man1
copying man/man1/pssh.1 -> /usr/man/man1
copying man/man1/pscp.1 -> /usr/man/man1
copying man/man1/prsync.1 -> /usr/man/man1
copying man/man1/pslurp.1 -> /usr/man/man1
copying man/man1/pnuke.1 -> /usr/man/man1
running install_egg_info
Writing /usr/lib/python2.6/site-packages/pssh-2.3.1-py2.6.egg-info

2.2 安装完成

使用yum安装后,只能使用pssh,但是编译安装后会包括其他命令也安装了(pscp prsync pnuke pslurp) pssh:在远程多台主机上并行运行命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Example: pssh -h hosts.txt -l irb2 -o /tmp/foo uptime

pscp :把文件并行复制到多台远程主机上

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Example: pscp -h hosts.txt -l irb2 foo.txt /home/irb2/foo.txt

prsync:使用rsync协议本地文件同步到远程多台主机上。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Example: prsync -r -h hosts.txt -l irb2 foo /home/irb2/foo

pnuke:在远程多台主机上并行killall某一进程

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Example: pnuke -h hosts.txt -l irb2 java

pslurp:把文件从远程多台主机上复制到本地主机上

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Example: pslurp -h hosts.txt -L /tmp/outdir -l irb2
/home/irb2/foo.txt foo.txt

2.3 pssh参数说明

-h HOST_FILE 后边跟远程主机列表(ip) -H HOST_STRING 后边跟远程主机名或者ip地址 -l USER 指定远程主机的用户名-p PAR 指定pssh最大的并行线程数。 -o 将输出的内容重定向到一个指定的文件中 -O 指定ssh参数的具体配置 -e 将执行错误重定向到一个指定的文件中 -t 设定命令执行超时时间 -x 传递ssh命令的一些参数 -i 在远程主机上执行命令完成后显示标准输出和标准错误 -P 在执行远程命令时,输出执行结果

2.4 其他常用的方法

pssh使用帮助

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pssh --help

pssh查看所有服务器的uptime

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    -h list 指定了执行命令的机器列表
    -A表示提示输入密码(如果机器都是ssh key打通的则无需加-A)
pssh -i -A -h list 'uptime'

使用pscp向一堆机器分发文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pscp -h list  localfile   remote_dir

从一堆机器中拷贝文件到中心机器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pslurp -h list /etc/hosts local_dir

2.5 常见问题

如果你遇到这样的错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
IOError: [Errno 4] Interrupted system call

建议升级python版本到python2.7

3.附录

3.1 pssh CLSN站点镜像地址

本站将pssh软件包镜像到本地,以防丢失,有需求的可以执行下载,下载后注意校验MD5值。

File

Summary + Labels

Uploaded

Size

pssh-2.3.1.tar.gz

PSSH 2.3.1 Source

Feb 3, 2012

22.88KB

pssh-2.3.tar.gz

PSSH 2.3 Source

Jan 25, 2012

21.62KB

pssh-2.2.2.tar.gz

PSSH 2.2.2 Source

Feb 3, 2011

20.94KB

pssh-2.2.1.tar.gz

PSSH 2.2.1 Source

Jan 27, 2011

20.88KB

pssh-2.2.tar.gz

PSSH 2.2 Source

Jan 27, 2011

20.84KB

pssh-2.1.1.tar.gz

PSSH 2.1.1 Source

Mar 5, 2010

17.94KB

pssh-2.1.tar.gz

PSSH 2.1 Source

Feb 26, 2010

17.65KB

pssh-2.0.tar.gz

PSSH 2.0 Source

Oct 21, 2009

15.03KB

3.2 pssh GOOGLE源

File

Summary + Labels

Uploaded

Size

pssh-2.3.1.tar.gz​

PSSH 2.3.1 Source

Feb 3, 2012

22.88KB

​pssh-2.3.tar.gz​

PSSH 2.3 Source

Jan 25, 2012

21.62KB

​pssh-2.2.2.tar.gz​

PSSH 2.2.2 Source

Feb 3, 2011

20.94KB

​pssh-2.2.1.tar.gz​

PSSH 2.2.1 Source

Jan 27, 2011

20.88KB

​pssh-2.2.tar.gz​

PSSH 2.2 Source

Jan 27, 2011

20.84KB

​pssh-2.1.1.tar.gz​

PSSH 2.1.1 Source

Mar 5, 2010

17.94KB

​pssh-2.1.tar.gz​

PSSH 2.1 Source

Feb 26, 2010

17.65KB

​pssh-2.0.tar.gz​

PSSH 2.0 Source

Oct 21, 2009

15.03KB

3.3 文件包MD5值

下载完成后务必校验MD5值

MD5值

文件名

dbdbfda5681b82d4c64abdb3668e88bc

pssh-2.3.tar.gz

53e70d53064f658bf8f44880340e8e5c

pssh-2.3.1.tar.gz

689207677b260a7e4178174295b1389e

pssh-2.2.tar.gz

865305ae39647884bc54a42e9f9554bb

pssh-2.2.2.tar.gz

f7583259976ef64bf3cae957a0b66e41

pssh-2.2.1.tar.gz

725f902bb7e128cc7aa1322551f7ca37

pssh-2.1.tar.gz

4b355966da91850ac530f035f7404cd5

pssh-2.1.1.tar.gz

07474f9f9dbefedc809e997f04e1dee5

pssh-2.0.tar.gz

4.参考文献

https://code.google.com/archive/p/parallel-ssh/ http://opstool.com/article/266 https://www.cnblogs.com/Dicky-Zhang/p/5988415.html https://help.aliyun.com/knowledge_detail/38835.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-01-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
https://www.tinymind.cn/articles/3987 tinymind链接都打不开了,大佬有没有其他备份链接?
https://www.tinymind.cn/articles/3987 tinymind链接都打不开了,大佬有没有其他备份链接?
回复回复点赞举报
推荐阅读
75 道 BAJT 中高级 Java 面试题,你能答上几道?
整理了下 BATJ 关于 JAVA 的面试题目,大家参考下吧,希望对大家有所帮助,可以帮大家查漏不缺。
Java技术栈
2018/12/14
6600
想去 Google AI 工作?请收下这 20 道面试题
谷歌拥有世界上最聪明的AI研发科学家,数据工程师及数据科学家。谷歌的CEO桑达尔·皮查伊(Sundar Pichai)重新调整了公司战略,即“AI先行”。谷歌依靠其拥有的海量数据,将AI融入绝大多数产品,从Gmail到自动驾驶,形成了一张网。
AI研习社
2018/07/26
1K0
想去 Google AI 工作?请收下这 20 道面试题
谷歌、微软等大企业AI面试题来袭,看看你会多少?
编者按:此前,论智发表了一篇面试了10家公司,这是我能记住的所有问题的文章,在各平台受到了广泛关注。在评论区,许多读者都表达了自己的惊讶之情,认为这些国外(印度)的面试题太基础了,其中的一部分甚至可以用过于简单来形容,但也有不少人认可面试官的专业程度,指出他们的问题虽然浅显,但的确能反映应聘者的知识水平和实践经验。本文是前文的续作,主要分两个部分,其中第一部分是Uber、Google、Facebook等大型公司的面试题,第二部分则是开发者在面试前的十个准备步骤,希望能给大家带来帮助。
崔庆才
2019/09/04
9640
谷歌、微软等大企业AI面试题来袭,看看你会多少?
Google人工智能面试·真·题(附参考答案+攻略)
然而想要“应试”成功,考验的不仅仅是开发人员的编程技术,还能侧面考验着参赛者的渠道来源是否广泛、背景力量是否强大、脑洞回路是否清奇……
量子位
2018/07/24
8390
Google人工智能面试·真·题(附参考答案+攻略)
想去Google做AI?先看完这套面试指南(附面试题)
作者 | 阿司匹林 出品 | 人工智能头条(公众号ID:AI_Thinker) 凭借强大的技术实力和良好的工作氛围,Google 对求职者一直有着强大吸引力。 虽然 Google 在几年前就已经退出了中国大陆市场,但是在北京、上海等国内城市依然保留着办公地点,而且一直在对外发布招聘需求。特别是去年底,Google 宣布在北京成立 AI 中心,更是为中国的 AI 人才提供了又一个好去处。 为此,我们整理一份 Google 面试指南,并搜集了 20 道 Google AI 的面试问题,希望对感兴趣的读者能有所助
用户1737318
2018/06/05
1.3K0
面试了8家公司,他们问了我这些机器学习题目......
翻译 | 王柯凝 出品|人工智能头条(公众号ID:AI_Thinker) 【导读】今年年初以来,作者一直在印度找数据科学、机器学习以及深度学习领域的工作。在找工作的这三十四天里,他面试了8到10家公司,其中也包括初创公司、基于服务的公司以及基于产品的公司。作者希望他的面试经验能够为求职者提供一些有用的信息,因而撰写了此文。希望你读后能够有所收获! 首先自我介绍一下: 我在机器学习(语音分析、文本分析和图像分析领域应用)领域有4年以上的从业经验。总的来说,我认为这个领域的大多数工作职位主要包括文本分析(自然
用户1737318
2018/06/05
6440
20 道面试题助你拿下微软 AI offer
微软在业界的霸主地位人尽皆知。它引领了云计算的风潮:第一季度的财报显示,微软提供的Azure服务和Office365在线版本的收入分别飙升了90%和42%。
AI研习社
2018/07/26
1K0
20 道面试题助你拿下微软 AI offer
牛!Python 全栈必备的 150 个实战案例,一次性获得!
Python 全栈将是你升职加薪的硬通货。 我见过很多的 Python 讲解教程和书籍,它们大都这样讲 Python 的: 先从 Python 的发展历史开始,介绍 Python 的基本语法规则,Python 的 list, dict, tuple 等数据结构,然后再介绍字符串处理和正则表达式,介绍文件等 IO 操作,再介绍异常处理, 就这样一章一章往下说。 虽然这样的讲解很全面,但是单纯的理论说明经常很枯燥,让人越看越累,越累越不想看。 那么,有没有比这更好的方法呢? 因为我也有过那段「自学」Python
区块链大本营
2023/03/31
8430
牛!Python 全栈必备的 150 个实战案例,一次性获得!
【剑指Offer】机器学习面试题(1)
好久没有整理面试题了,最近总有读者翻出之前的面试题,问我会不会继续整理,今天给大家分享一波自己整理的常见机器学习面试题。
PM小王
2019/07/02
6160
【剑指Offer】机器学习面试题(1)
去苹果做 AI 一共分几步?看看这套面试指南吧(附面试题)
翻译 | 王柯凝 出品 | 人工智能头条(公众号ID:AI_Thinker) 苹果手机很常见,苹果工程师却不常见。 国内的网络上活跃着诸多 Google、微软、亚马逊、Facebook 的工程师,而且会热心解答公司相关的各种问题,但是苹果工程师却没有什么声音。 那么,想要进入苹果公司做 AI 相关的工作,却不知道从何入手,要怎么办呢? 没关系,今天我们就为大家带来苹果的面试指南,以及 20 道与 AI 和数据科学相关的面试题。 当然,如果你对 Google 也感兴趣,可以查看我们之前发布的文章——《想去
用户1737318
2018/06/05
1.5K3
这里有 300 篇 Python 与机器学习类原创笔记
主要包括计算机科学中基本的算法与数据结构,结合算法思想和Leetcode实战,总结介绍。
好好学java
2020/03/17
4.7K0
300道Python面试题,备战春招!
过年开工回来到现在,营长每天在地铁里只看到了两家公司的广告:前两周是拉勾网,最近都是 Boss直聘,求职、跳槽到现在,你是否已经成功,offer 在手了呢?
AI科技大本营
2019/03/15
1.3K0
300道Python面试题,备战春招!
算法面试太难?反手就是一波面经
八月参加了一些提前批的面试,包括阿里、百度、头条、贝壳、一点资讯等。整理了一些面试题,分享给大家。
石晓文
2018/10/10
1.8K0
谷歌微软等科技巨头的面试题 你能答对几道?
苹果 1. 如果你有几百万用户,每个用户都会发生数百笔交易,这些交易存在于数十种产品中。你该如何把这些用户细分成有意义的几类? 微软 1. 描述一个你曾经参与的项目,以及它的优点。 2. 如何处理具有高基数(high-cardinality)的类属特征? 3. 如果想要给 Twitter feed 写 summarize,你要怎么办? 4. 在应用机器学习算法之前纠正和清理数据的步骤是什么? 5. 如何测量数据点之间的距离? 6. 请定义一下方差。 7. 请描述箱形图(box plot)和直方图(his
企鹅号小编
2018/01/11
6430
谷歌微软等科技巨头的面试题 你能答对几道?
【面试107问】谷歌等巨头机器学习面试题:从逻辑回归到智力测验
【新智元导读】很多人都想知道,谷歌、微软、Facebook 这样的顶级科技公司,在面试大数据机器学习工程师时会问些什么问题。可惜的是,这些公司的面试者事先都要签保密协议,不允许把面试题目泄露出去。不过美国一家做企业点评与职位搜索的职场社区 glassdoor 还是想方设法搞到了面试题目。让我们现在就揭开这层神秘的面纱吧! 一般性问题 苹果 1.假设你面临着数百万用户,每个用户有数百笔交易,涉及成千上万种产品。你如何对这些用户进行有意义的分类? 微软 2.请描述一个你参与的项目,讲讲它有什么独特之处。 3.如
新智元
2018/03/21
1.7K0
【面试107问】谷歌等巨头机器学习面试题:从逻辑回归到智力测验
如何快速get到AI工程师面试重点,这12道题必备!
【导读】2020 年的三月春招要来了,现在想要 Get 一个算法工程师的实习或全职机会,已经不是一件易事了。如果现在着手复习,茫茫题海不能毫无重点,我们要先抓住那些刚需必备的面试题。这次,作者收集了 12 个 AI 工程师职位的面试问题,助你攻下你心仪的 offer。
AI科技大本营
2019/12/25
6330
如何快速get到AI工程师面试重点,这12道题必备!
看到抖音上Python工程师晒得工资条,我沉默了......
我是个抖音中毒者 闲来无事就喜欢刷抖音 最近刷到了一个Python工程师的工资条 然后我默默的打开看了 然后就默默的关闭了 如今Python技术由于大数据、人工智能的兴起 Python也越来越火 大家都纷纷学Python 我不能跟你确保说学完Python你就能拿高工资 但是你学完Python肯定有饭吃 说不定还能找到一个貌美如花的女朋友✌️ 我见过市面上很多的 Python 讲解教程和书籍,他们大都这样讲 Python 的: 先从 Python 的发展历史开始,介绍 Python 的基本语法规则,P
区块链大本营
2023/03/31
4460
看到抖音上Python工程师晒得工资条,我沉默了......
掌握这些问题,成为 Facebook 机器学习工程师
【新智元导读】彭博社最近推出了一些列大公司面试指南,其中包括Facebook、Uber和高盛等大公司。那么,如果想进入Facebook做一名机器学习工程师,需要具备哪些素质?要多牛才能与Yann LeCun做同事呢? 职位:软件工程师,机器学习 招聘负责人:James Everingham,Instagram工程主管 薪资:$130,000-$145,000 职位描述: 构建更智能的系统;检测数据,增强用户体验,编写和实现代码,评估结果。该职位不仅是写代码,而且要做研究。例如,尝试提供更好的个性化搜索结果
新智元
2018/03/23
7200
1000 面试题,BAT 机器学习面试刷题宝典!
为了通过层层考验,刷题肯定是必不可少的。本文作者根据网络在线发布的BAT机器学习面试1000题系列,整理了一份面试刷题宝典。
小小詹同学
2019/05/10
2.7K0
1000 面试题,BAT 机器学习面试刷题宝典!
96道前端面试题+前端常用算法「建议收藏」
1,说一下浏览器缓存 2,cookie 与 session 的区别 3,浏览器如何做到 session 的功能的。 4,解释一下:csrf 和 xss 5,怎么防止 csrf 和 xss 6,跨域的处理方案有哪些 7,CORS 是如何做的? 8,对于 CORS ,Get 和 POST 有区别吗? 9,了解 HTTPS 的过程吗? 10,es module 和 commonjs 的区别 11,react 里如何做动态加载 12,动态加载的原理是啥,就是 webpack 编译出来的代码 13,写一个处理加法可能产生精度的函数,比如 0.1 + 0.2 = 0.3
全栈程序员站长
2022/09/27
9450
96道前端面试题+前端常用算法「建议收藏」
推荐阅读
相关推荐
75 道 BAJT 中高级 Java 面试题,你能答上几道?
更多 >
LV.0
这个人很懒,什么都没有留下~
目录
  • 1.PSSH简介
  • 2.PSSH使用
    • 2.1 安装PSSH
    • 2.2 安装完成
    • 2.3 pssh参数说明
    • 2.4 其他常用的方法
    • 2.5 常见问题
  • 3.附录
    • 3.1 pssh CLSN站点镜像地址
    • 3.2 pssh GOOGLE源
    • 3.3 文件包MD5值
    • 4.参考文献
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档