pssh命令是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的,类似pdsh,个人认为相对pdsh更为简便,使用必须在各个服务器上配置好密钥认证访问。
pssh命令安装
1
2
3
4
5
6
7
8
|
在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
.tar.gz
cd pssh-
2.3
.
1
/
python setup.py install
|
== 参数命令介绍 ==
'''介绍pssh参数''' pssh 在多个主机上并行地运行命令
选项
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
--version:查看版本 <br>--help:查看帮助,即此信息 <br>-h:主机文件列表,内容格式”[user@]host[:port]”
-h:执行命令的远程主机列表 或者 -H user@ip:port 文件内容格式[user@]host[:port]
-p:并发的线程数,一次最大允许多少连接
-l:远程机器的用户名
-o:输出内容重定向到一个文件
-e:执行错误重定向到一个文件
-t:设置命令执行的超时时间,
0
无限制
-O:设置ssh参数的具体配置,参照ssh_config配置文件
-v:详细模式
-A:手动输入密码模式,提示输入密码并且把密码传递给ssh
-x:传递多个SSH 命令,多个命令用空格分开,用引号括起来
-X:同-x 但是一次只能传递一个命令
-P:执行时输出执行信息
-i 显示标准输出和标准错误在每台host执行完毕后
|
'''其他命令'''
pscp 传输文件到多个hosts,类似scp
pslurp 从多台远程机器拷贝文件到本地
pnuke 并行在远程主机杀进程
prsync 使用rsync协议从本地计算机同步到远程主机
== 实例 ==
pssh
1
2
3
4
5
6
7
8
|
# pssh -h ip.txt -l root chkconfig --level
2345
snmpd on
[
1
]
10
:
59
:
29
[SUCCESS] ... ...
[
2
]
10
:
59
:
29
[SUCCESS] ... ...
[
3
]
10
:
59
:
29
[SUCCESS] ... ...
# pssh -h ip.txt -i uptime
[
1
]
11
:
15
:
03
[SUCCESS] Mar.mars.he
11
:
15
:
11
up
4
days,
16
:
25
,
1
user, load average:
0.00
,
0.00
,
0.00
[
2
]
11
:
15
:
03
[SUCCESS] Jan.mars.he
11
:
15
:
12
up
3
days,
23
:
26
,
0
users, load average:
0.00
,
0.00
,
0.00
[
3
]
11
:
15
:
03
[SUCCESS] Feb.mars.he
11
:
15
:
12
up
4
days,
16
:
26
,
2
users, load average:
0.08
,
0.02
,
0.01
|
pscp
1
2
3
4
|
$ pscp -h ip.txt -l root /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf
[
1
]
11
:
00
:
42
[SUCCESS] ... ...
[
2
]
11
:
00
:
42
[SUCCESS] ... ...
[
3
]
11
:
00
:
42
[SUCCESS] ... ...
|
qianghong000