共计 834 个字符,预计需要花费 3 分钟才能阅读完成。
一. 场景介绍:
同时给上千台 Linux 服务器执行一个命令,拷贝一个文件,杀一个进程等,有什么简化运维管理的工具呢?在小型使用中我都是使用 for 循环,数量巨大,一方面不确定操作是否成功,一方面 for 循环语句性能不好估计且是不是同步并行执行。
二. 准备工作
1. 下载软件包:https://pypi.Python.org/pypi/pssh/2.3.1
2. 解压 pssh-2.3.1.tar.gz,并安装 pssh 工具
三. 使用方法
用法:PSSH [选项]命令[…]
-h 执行命令的远程主机列表, 文件内容格式[user@]host[:port]
如 test@172.16.10.10:229
-H 执行命令主机,主机格式 user@ip:port
-l 远程机器的用户名
-p 一次最大允许多少连接
-P 执行时输出执行信息
-o 输出内容重定向到一个文件
-e 执行错误重定向到一个文件
-t 设置命令执行超时时间
-A 提示输入密码并且把密码传递给 ssh(如果私钥也有密码也用这个参数)
-O 设置 ssh 一些选项
-x 设置 ssh 额外的一些参数,可以多个,不同参数间空格分开
-X 同 -x, 但是只能设置一个参数
-i 显示标准输出和标准错误在每台 host 执行完毕后其他工具:
pscp 传输文件到多个 hosts,类似 scp(pscp 工具也是经常可以用到)
pscp -h host /root/host /root/ #根据 host 文件下的主机 IP 地址,从本地 /root/ 目录下 发送到目标 IP 的 /root/ 目录下
pslurp 从多台远程机器拷贝文件到本地
pnuke 并行在远程主机杀进程
pnuke -h hosts.txt -l irb2 Java
prsync 使用 rsync 协议从本地计算机同步到远程主机
prsync -r -h hosts.txt -l irb2 foo /home/irb2/foo
以上,如果大家觉得有什么问题,咱们可以交流交流,谢谢!
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-04/142726.htm