PSSH 轻量化运维工具安装和使用

免密登录

1. 首先生成秘钥对(公钥和私钥)

ssh-keygen

2. 查看是否生成成功

ll /root/.ssh 

3. 将A自己的公钥拷贝并追加到B的授权列表文件authorized_keys中

ssh-copy-id 192.168.1.100

4. 免密ssh登录

ssh 192.168.1.100

pssh安装

下载地址: https://pypi.org/project/pssh/#files

1. 安装依赖包

yum install -y make gcc gcc++ python-devel python-pip

2. 上传安装包,安装 pssh

tar zxvf pssh-2.3.1.tar.gz
cd pssh-2.3.1
python setup.py install

pssh使用

pssh工具用法

应用程序 使用说明
pssh 在多台主机上并行的运行命令
pscp 把文件并行复制到多台主机上
prsync 通过 rsync 协议把文件高效的同步到多台主机上
pslurp 把文件并行的从多台远程主机上复制到本机上
pnuke 并行的杀掉多台远程机器的进程

pssh工具参数

参数 说明
-h 执行命令的远程主机列表;或者 -H user@ip:port;文件内容格式[user@]host[:port]
-l 远程机器的用户名
-P 执行时输出执行信息
-p 一次最大允许多少连接
-o 输出内容重定向到一个文件
-e 执行错误重定向到一个文件
-t 设置命令执行的超时时间
-A 提示输入密码并且把密码传递给ssh
-O 设置ssh参数的具体配置,参照ssh_config配置文件
-x 传递多个SSH 命令,多个命令用空格分开,用引号括起来
-X 同-x 但是一次只能传递一个命令
-i 显示标准输出和标准错误在每台host执行完毕后

pssh用法示例

1. pssh 多主机并行执行命令

# 获取每台机器上的时间,先在管理机上新建 ip.txt
pssh -p 2 -i -h /root/test/ip.txt "date"

2. pscp 把文件并行复制到多个机器上

# 将本地的 /root/kaishi.sh 文件复制到目标服务器的 /tmp/ 目录下
pscp -h /root/test/pssh.txt /root/kaishi.sh /tmp/
# 验证文件是否已经成功复制过去
pssh -p 2 -i -h /root/test/pssh.txt "ls /tmp/kaishi.sh"

3. prsync 使用 rsync 协议从本地计算机同步文件到远程主机

#  将本地的 /etc/sysconfig 目录递归同步到目标服务器的 /tmp/ 目录下
prsync -h /root/test/pssh.txt -l -a -r /etc/sysconfig /tmp/test/
# 验证文件是否已经成功同步过去
pssh -p 2 -i -h /root/test/pssh.txt "ls /tmp/test/"

4. pslurp 将文件从远程主机复制到本地主机

# 将目标服务器的 /tmp/*.log 格式的文件复制到本地的 /tmp 目录下,并更名为 test1.log 格式
pslurp -p 2  -h /root/test/pssh.txt -L /tmp -l root /tmp/*.log test1.log
# 在 /tmp/ 目录下即可看见以远端IP地址命名为目录,目录中存放复制过来的文件
ll /tmp/

5. pnuke 并行在远程主机杀进程,将远端服务器nginx进程杀死

# 查看远端nginx状态
pssh -p 2 -i -h /root/test/pssh.txt "lsof -i:80"
# 杀死远端nginx进程
pnuke -p 2 -h /root/test/pssh.txt nginx

猜你喜欢

转载自blog.csdn.net/weixin_41166785/article/details/125504358