pssh使用

一:下载
wget ftp://ftp.cn.debian.org/gentoo/distfiles/pssh-2.3.1.tar.gz

二:本地主机和远程主机单向信任
1:准备一个单独的用户
useradd crazy
su - crazy
2:在本地主机创建RSA密钥和公钥
mkdir ~/.ssh
chmod 700 ~/.ssh 设置权限保障安全
cd .ssh/
ssh-keygen  创建一对公私玥
3:远程拷贝在远程的主机
ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh [email protected]
.....
不要密码直接登入
三:pssh安装
tar -xf pssh-2.3.1.tar.gz
cd pssh-2.3.1/
python setup.py install

四:pssh用法
安装完成后,产生5个程序
pssh:远程多台主机并运行命令
pscp:把文件并行复制到远程的多台主机上。类似scp
prsync:将文件同步到远程主机
pnuke:在远程多台主机上并行killall某进程
pslurp:把文件从多台远程主机复制到本地主机,与pscp相反

参数:
-h HOST_FILE 跟远程主机列表文件
-H HOST 跟远程主机地址
-l user 指定远程主机上的用户名
-p PAR 指定pssh最大并行线程数
-o outdir 将输出内容重定向到一个指定文件中
-O option 指定ssh参数的具体配置
-e errdir 将执行错误重定向到一个指定文件中
-t timeout 设置命令执行的超时时间
-A 提示输入密码,将密码传递给ssh服务
-x ARGS 用于传递ssh命令的一些参数,每个参数用""括起来,传递多个用空格分开
-X 只能传递指定的一个命令参数
-i 显示输出信息
-P 执行远程命令输出执行结果
五:实战应用
1:查看多台远程主机的负载
创建远程主机列表文件
cat ip.txt
[email protected]
[email protected]
[email protected]
查看负载
pssh -h ip.txt -i "uptime"
[1] 09:33:13 [SUCCESS] [email protected]
17:33:12 up 16:16, 0 users, load average: 0.00, 0.00, 0.00
[2] 09:33:13 [SUCCESS] [email protected]
17:04:27 up 21:54, 2 users, load average: 0.00, 0.00, 0.00
[3] 09:33:13 [SUCCESS] [email protected]
17:33:12 up 16:16, 0 users, load average: 0.00, 0.00, 0.00
2:批量创建文件和删除
pssh -h ip.txt -i "echo "Hello World">files"
pssh -h ip.txt -i "cat files"
pssh -h ip.txt -i "rm files"
pssh还可以批量安装软件,解压文件.....

pssh -h ip.txt -i "yum install httpd -y"
pssh -h ip.txt -i "service httpd start"
pssh -h ip.txt -i "netstat -antup | grep httpd"

3:批量复制文件到远程主机
pscp -h ip.txt /etc/ssh/sshd_config /tmp
pscp -h ip.txt -r /opt/zarp/ /tmp   -r 递归
4:将远程主机文件批量复制到本地主机
pslurp -h ip.txt -L /home/crazy /etc/passwd passwd
pslurp -h ip.txt -r -L /home/crazy /etc/yum.repos.d yum
-r -L 参数位置不能颠倒
5:将本地主机文件或目录同步到远程主机上
prsync -h ip.txt -l root -a -r /var/www/ /var/www/
-a 权限,属性保持
-r 递归
/var/www /var/www 本地主机 远程主机
prsync -h ip.txt -l root -az -r /var/www/ /var/www/
-z压缩传输
6:远程杀掉进程
pnuke -h ip.txt httpd

其他轻量级自动化运维工具
pdsh
mussh
ClusterSSH

时间: 2024-10-16 22:03:38

pssh使用的相关文章

运维自动化轻量级工具pssh

1pssh介绍 pssh是python写的可以并发在多台机器上批量执行命令的工具,它的用法可以媲美ansible的一些简单用法,执行起来速度比ansible快它支持文件并行复制,远程命令执行,杀掉远程主机上的进程等等.杀手锏是文件并行复制,,当进行再远程主机批量上传下载的时候,最好使用它. 2pssh的使用 在使用pssh之前,必须要保证管理主机和本地主机进行过密钥的认证,或者是在进行批量时,没有做过密钥认证,但是必须保证被管理的多台主机的密码相同.关于如何做密钥认证,这里就不多说了,可以自行百

pssh批量ssh操作

# wget http://files.opstool.com/files/pssh-2.3.tar.gz # tar zxfv pssh-2.3.tar.gz # cd pssh-2.3 # python setup.py install 使用: # pssh -i -A -h server.txt 'shutdown'   (如果设置了免密码登录就不用-A) server.txt里写多个服务器名即可

pssh输入动态的iplist

pssh的ip列表有2种输入方式: -h iplist_file -H ip字符串如 [email protected]:port,只能写一个 通常情况下会有很多个主机,整理为iplist文件使用.但每次都要做文件和维护文件是挺麻烦的一件事,希望能有个动态结果,比如cat或其他命令的结果作为输入,像管道一样 实现如下: pssh -H "`cat broadcast.iplist`" -l mozat -A -P "date"

tree老师:PSSH自动化运维实战

pssh是一个可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的.使用是必须在各个服务器上配置好密钥认证访问. pssh是用python来写的一个管理工具,管理几万台服务器,就是因为使用各式各样的工具. 如果服务器超过50台,上百台,就不能再用shell来写个for循环来执行了,这时候就会用到pssh. pssh 包安装 5 个实用程序: pssh 在多个主机上并行地运行命令. pscp 把文件并行地复制到多个主机上. prsync 通过 rsync 协议把文件高效地并行复

Linux批量管理服务器小工具--PSSH

Linux批量管理服务器小工具--PSSH 一.简介 pssh -- parallel ssh program pssh  is  a program for executing ssh in parallel on a number of hosts.  It provides features such as sending input to all of the processes, passing a password to ssh, saving output to files, an

自动化运维利器---pssh

有的公司,机房有60台服务器,有的公司机房有3000台服务器,还有的更多!这么多的服务器,要执行相同的系统配置操作,怎么办? 答案1:   一台一台的部署,有点活活累死的感觉! 答案2:  写SHELL脚本,一回车,全部机器就都执行了.是个办法,但是效率很低,不是吗?! 答案3 :    用pssh,它是运维利器啊! pssh:   parallel-ssh ,即并行ssh,是一个用Python编写的工具,作用就是并行在多台服务器上执行命令.比如,在晚上12:00 分这个时间,同时在3000台服

使用pssh进行并行批量操作

假如同时给上千台服务器执行一个命令,拷贝一个文件,杀一个进程等,有什么简化运维管理的工具呢?在小型使用中我都是使用for循 环,数量巨大,一方面不确定操作是否成功,一方面for循环语句性能不好估计且是不是同步并行执行.,这类工具比如 pdsh,mussh,cssh,dsh等还有这里提到的pssh:pssh是一个简单的字符界面并发向多个服务器发送指令进行执行的工具.适合一次性向集群大量服务器发送相同指令(并观察输出) 1. 安装 a. 到google code找到最新的安装包 http://cod

Linux下批量管理工具PSSH

pssh命令是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的,类似pdsh,个人认为相对pdsh更为简便,使用必须在各个服务器上配置好密钥认证访问. pssh命令安装 在CentOS系统环境下,介绍yum的安装和源码安装的方式: yum安装: yum install pssh 源码安装: wget http://parallel-ssh.googlecode.com/files/pssh-2.3.1.tar.gz tar xf pssh-2.3.1.

pssh 批量管理工具使用方法

管理上千服务器而且要并发执行要么字写工具用开源的也不错, 这类工具比如 pdsh,mussh,cssh,dsh等还有这里提到的pssh:1  安装: #wget http://peak.telecommunity.com/dist/ez_setup.pypython ez_setup.py#wget http://parallel-ssh.googlecode.com/files/pssh-2.2.2.tar.gz# tar zxvf pssh-2.2.2.tar.gz# cd pssh-2.2

pssh 自动化运维

我们平时管理几台服务器,我们可以用 ssh 这个简单高效的管理工具远程登陆进行管理,让我们的工作变的简便,快捷,然而,如果要管理成百上千台呢?即使拥有 ssh 这种简便快捷的工具,也会让人大感 头疼,那么有没有一款可以同时管理 N 台服务器的管理工具呢? 答案当然是肯定的,接下来我们就介绍一款与 ssh 有着近亲血脉的批量管理工具 PSSH PSSH 是一个可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中比较出色的一款管理软件. *注意:要使用 PSSH 时,必须在各个服务器上配