Linux下批量管理工具pssh使用记录

pssh是一款开源的软件,使用python实现,用于批量ssh操作大批量机器;pssh是一个可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的;比起for循环的做法,我更推荐使用pssh!使用pssh的前提是:必须在本机与其他服务器上配置好密钥认证访问(即ssh信任关系)。

下面就说下使用pssh进行批量操作的记录:

1)安装pssh
可以yum直接安装:
[[email protected] ~]# yum install -y pssh

2)pssh用法
[[email protected] ~]# pssh --help
-h 执行命令的远程主机列表文件 
-H [email protected]:port 文件内容格式[[email protected]]host[:port] 
-l 远程机器的用户名 
-p 一次最大允许多少连接 
-o 输出内容重定向到一个文件 
-e 执行错误重定向到一个文件 
-t 设置命令执行的超时时间 
-A 提示输入密码并且把密码传递给ssh(注意这个参数添加后只是提示作用,随便输入或者不输入直接回车都可以) 
-O 设置ssh参数的具体配置,参照ssh_config配置文件 
-x 传递多个SSH 命令,多个命令用空格分开,用引号括起来 
-X 同-x 但是一次只能传递一个命令 
-i 显示标准输出和标准错误在每台host执行完毕后 
-I 读取每个输入命令,并传递给ssh进程 允许命令脚本传送到标准输入

3)pssh实例说明
[[email protected] ~]# cat hosts.txt    //列表文件内的信息格式是“ip:端口”,如果本机和远程机器使用的ssh端口一致,则可以省去端口,直接用ip就行。不过建议还是将端口都带上为好。
192.168.1.101:22
192.168.1.109:22
192.168.1.118:25791
192.168.1.105:25791
如上四台机器放在一个列表文件hosts.txt内,本机已经和这四台机器做了ssh无密码登陆的信任关系
注意:列表文件内的机器必须提前和本机做好ssh信任关系,如果没有做的话,那么pssh批量执行时,轮到这台没有做信任关系的机器时就不会执行。

a)批量执行命令
[[email protected] ~]# pssh -h hosts.txt -l root -i ‘uptime‘
[1] 16:05:48 [SUCCESS] 192.168.1.105
03:03:25 up 79 days, 13:44, 0 users, load average: 0.04, 0.01, 0.00
[2] 16:05:48 [SUCCESS] 192.168.1.118
03:03:32 up 75 days, 15:27, 4 users, load average: 0.96, 0.74, 0.45
Stderr: Address 192.168.1.118 maps to localhost, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
[3] 16:05:48 [SUCCESS] 192.168.1.109
03:03:25 up 61 days, 21:56, 2 users, load average: 0.02, 0.06, 0.18
Stderr: Address 192.168.1.102 maps to localhost, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
[4] 16:05:48 [SUCCESS] 192.168.1.101
16:03:17 up 35 days, 23:45, 1 user, load average: 0.03, 0.04, 0.01
Stderr: Address 192.168.1.101 maps to localhost, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!

b)批量上传文件或目录(pscp.pssh命令)
批量上传本地文件/mnt/test.file到远程服务器上的/tmp目录:
[[email protected] ~]# pscp.pssh -l root -h hosts.txt /mnt/test.file /tmp/
[1] 16:18:05 [SUCCESS] 192.168.1.105
[2] 16:18:05 [SUCCESS] 192.168.1.109
[3] 16:18:05 [SUCCESS] 192.168.1.101
[4] 16:18:05 [SUCCESS] 192.168.1.118

c)批量下载文件或目录(pslurp命令)
批量下载服务器上的某文件到本地,不用担心重名问题,因为pssh已经建立了以文件列表内的ip为名称的目录来存放下载的文件:
[[email protected] ~]# pslurp -l root -h hosts.txt /etc/hosts .
[1] 16:32:01 [SUCCESS] 192.168.1.109
[2] 16:32:01 [SUCCESS] 192.168.1.105
[3] 16:32:01 [SUCCESS] 192.168.1.101
[4] 16:32:01 [SUCCESS] 192.168.1.118
[[email protected] ~]# ll

d)批量同步(prsync命令)
同步本机/mnt/test目录下的文件或目录到远程机器的/mnt/test路径下
[[email protected] ~]# prsync -l root -h hosts.txt -r /mnt/test/ /mnt/test/
[1] 16:46:41 [SUCCESS] 192.168.1.109
[2] 16:46:41 [SUCCESS] 192.168.1.105
[3] 16:46:41 [SUCCESS] 192.168.1.118
[4] 16:46:41 [SUCCESS] 192.168.1.101

e)批量kill远程机器上的进程(pnuke命令)
比如批量kill掉远程机器上的nginx进程
[[email protected] ~]# pnuke -h hosts.txt -l root nginx
[1] 17:09:14 [SUCCESS] 192.168.1.109 
[2] 17:09:14 [SUCCESS] 192.168.1.105 
[3] 17:09:15 [SUCCESS] 192.168.1.118 
[4] 17:09:15 [SUCCESS] 192.168.1.101

原文地址:https://www.cnblogs.com/qinyujie/p/9580433.html

时间: 2024-10-13 21:28:43

Linux下批量管理工具pssh使用记录的相关文章

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.

【转】Linux下XenServer管理工具安装

转载文章 - Linux下XenServer管理工具安装 Xen-Server 6.5 虚拟机安装Linux系统 vmware安装ubuntu12.04嵌套安装xen server(实现嵌套虚拟化) Citrix XenServer ® 6.5 虚拟机用户指南 2015 年 03 月 26 日 (星期四)发行 1.0 版

Linux下进程管理工具之(二):htop

实验环境: CentOS release 6.6(Final)  一台 IP地址:172.16.249.230 Htop是一款运行于Linux系统监控与进程管理软件,用于取代Unix下传统的top.与top只提供最消耗资源的进程列表不同,htop提供所有进程的列表,并且使用彩色标识出处理器.swap和内存状态. 用户一般可以在top无法提供详尽系统信息的情况下选择安装并使用htop.比如,在查找应用程序的内存泄漏问题时.与top相比,htop提供更方便.光标控制的界面来杀死进程. htop用C语

linux下日志管理工具--logrotate

配置 /usr/local/nginx/logs/*.log { daily dateext rotate 1 olddir /usr/local/nginx/other/logs missingok notifempty compress sharedscripts postrotate /bin/kill -USR1 $(cat /var/run/nginx.pid 2>/dev/null) 2>/dev/null ||: endscript } dateext:文件后缀是日期格式,也就是

Linux下进程管理工具之(三):glances

实验环境: CentOS release 6.6 (Final)  一台 IP地址:172.16.249.230 glances 是一款用于 Linux.BSD 的开源命令行系统监视工具,它使用 Python 语言开发,能够监视 CPU.负载.内存.磁盘 I/O.网络流量.文件系统.系统温度等信息.本文介绍 glances 的使用方法和技巧,帮助 Linux 系统管理员了解掌握服务器性能. 一.glances简介 glances 可以为 Unix 和 Linux 性能专家提供监视和分析性能数据的

Linux下进程管理工具之(一):dstat

实验环境: CentOS release 6.6(Final)  一台 IP地址:172.16.249.230 dstat 是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品.dstat克服了这些命令的局限并增加了一些另外的功能,增加了监控项,也变得更灵活了.dstat可以很方便监控系统运行状况并用于基准测试和排除故障. 一.dstat简介和特性说明 dstat可以让你实时地看到所有系统资源,例如,你能够通过统计IDE控制器当前状态来比较磁盘利用率,或者直

自动化批量管理工具pssh - 运维小结

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

批量Linux、Windows管理工具BatchShell 1.2(最新版)

简介: BatchShell是什么: BatchShell是一款基于SSH2的批量文件传输及命令执行工具,它可以同时传输文件到多台远程服务器以及同时对多台远程服务器执行命令.具备以下主要功能:    ... BatchShell是什么: BatchShell是一款基于SSH2的批量文件传输及命令执行工具,它可以同时传输文件到多台远程服务器以及同时对多台远程服务器执行命令. 具备以下主要功能:     1. 多服务器批量文件传送.接收     2. 多服务器远程命令交互     3. 快速远程桌面

Linux下批量部署安装--PXE

Linux操作系统如何安装? 以及如何自动(无人值守)安装? 以及如何批量自动安装? 下面我们会一一的来介绍. 以下操作以CentOS6系列为例,以 VMware 作为虚拟机管理器进行实验. 一.安装系统 1.个人 pc 如何安装一个Linux操作系统使用呢? Linux操作系统的安装过程大致如下: 以本地镜像为例,POST加点自检,加载镜像文件中的内核和临时根文件系统,最后会启动anaconda的安装程序,此程序是交互式的,帮助用户来选择安装前的一些操作,完成这一步操作之后,进入真正的安装包软