pssh使用手册

一、介绍

参考文章

首先我们来了解下什么是pssh,它是干嘛用的?pssh是一个python编写可以在多台服务器上执行命令的工具,也可以实现文件复制。换而言之就是一个批量管理多台服务器的一个小工具。常常我们有这样的经历,就是需要在很多台主机上执行同一命令,在以前我们需要编写一个脚本,然后写一个循环,然后写上要执行的命令,感觉挺麻烦的,有了pssh这个工具,很多事情都不需要我们编写脚本去完成了,用pssh管理多台主机,就好像在自己主机上执行命令一样,我们不再编写脚本就可以实现管理多台主机。接下来我们来安装使用pssh吧

二、安装

yum安装

yum install -y pssh

查看版本

[root@localhost ~]# pssh --version
2.3.1

pssh命令

[root@localhost ~]# pssh --help
Usage: pssh [OPTIONS] command [...]

Options:
  --version             				展示版本信息
  --help                				展示帮助信息
  -h HOST_FILE, --hosts=HOST_FILE		主机文件(每行 [user@]host[:port])
  -H HOST_STRING, --host=HOST_STRING	主机地址(格式 "[user@]host[:port]")
  -l USER, --user=USER  				用户名(可选)
  -p PAR, --par=PAR    					最大并行线程数(可选)
  -o OUTDIR, --outdir=OUTDIR			标准输出文件的输出目录(可选)
  -e ERRDIR, --errdir=ERRDIR			错误输出文件的输出目录(可选)
  -t TIMEOUT, --timeout=TIMEOUT			每个主机的超时时间(秒)(0 =无超时)(可选)
  -O OPTION, --option=OPTION			SSH选项(可选)
  -v, --verbose         				打开警告和诊断消息(可选)
  -A, --askpass         				要求输入密码(可选)
  -x ARGS, --extra-args=ARGS			额外的命令行参数             
  -X ARG, --extra-arg=ARG				额外的命令行参数
  -i, --inline          				每个服务器内部处理信息输出
  --inline-stdout       				每个服务器的内联标准输出
  -I, --send-input      				从标准输入读取并作为输入发送到ssh
  -P, --print           				打印输出

Example: pssh -h hosts.txt -l irb2 -o /tmp/foo uptime

三、使用

1、首先要服务器之间配置免密钥登陆

安装ssh-keygen、ssh-copy-id

yum install -y ssh-keygen
yum install -y ssh-copy-id

生成公钥

ssh-keygen 加两次回车

将公钥文件发送到指定的服务器

ssh-copy-id 192.168.1.171
ssh-copy-id 192.168.1.172

2、创建一个服务器列表文件

vim iplist

内容格式[user@]host[:port]

root@192.168.1.171
root@192.168.1.172

3、输入命令测试

在这两台主机上生成test文件内容为123

[root@localhost ~]# pssh -h iplist 'echo 123 > test'
[1] 14:48:45 [SUCCESS] [email protected]
[2] 14:48:45 [SUCCESS] [email protected]

执行成功后在这两台主机上会生成test文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章