pssh批量管理服务器
目录
pssh是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的,类似pdsh。
安装
1
2
3
4
|
wget http: //parallel-ssh .googlecode.com /files/pssh-2 .3.1. tar .gz
tar zxvf pssh-2.3.1. tar .gz
cd pssh-2.3.1/
python setup.py install
|
1
2
|
yum -y install epel-release
yum -y install pssh
|
1
2
3
|
apt-cyg install python-setuptools
easy_install pip
pip install pssh
|
使用pssh
简要范例
- pssh 在多个主机上并行地运行命令。
pssh -h hosts.txt -l irb2 -o /tmp/foo uptime
- pscp 传输文件到多个主机,类似scp。
pscp -h hosts.txt -l irb2 foo.txt /home/irb2/foo.txt
- pslurp 从多个主机拷贝到本地。
Example: pslurp -h hosts.txt -L /tmp/outdir -l irb2 /home/irb2/foo.txt foo.txt
- pnuke 在多个主机并行地杀进程。
pnuke -h hosts.txt -l irb2 java
- prsync 使用rsync协议从本地同步到远程主机。
prsync -r -h hosts.txt -l irb2 foo /home/irb2/foo
- 避免ssh检查host keys:
1
2
3
|
pssh -i -H host1 -H host2 \
-x "-O StrictHostKeyChecking=no -O UserKnownHostsFile=/dev/null -O GlobalKnownHostsFile=/dev/null" \
echo hi
|
- 也可以加到.ssh/config
1
2
3
4
5
|
cat >>~/. ssh /config <<EOF
StrictHostKeyChecking=no
UserKnownHostsFile= /dev/null
GlobalKnownHostsFile= /dev/null
EOF
|
- host文件格式
1
2
3
4
5
|
192.168.1.4
root@192.168.1.5
root@192.168.1.7:2203
|
pssh --help
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
Usage: pssh [OPTIONS] command [...]
Options:
--version show programs version number and exit
--help show this help message and exit
-h HOST_FILE, --hosts=HOST_FILE
hosts file (each line "[user@]host[:port]" )
-H HOST_STRING, --host=HOST_STRING
additional host entries ( "[user@]host[:port]" )
-l USER, --user=USER username (OPTIONAL)
-p PAR, --par=PAR max number of parallel threads (OPTIONAL)
-o OUTDIR, --outdir=OUTDIR
output directory for stdout files (OPTIONAL)
-e ERRDIR, --errdir=ERRDIR
output directory for stderr files (OPTIONAL)
-t TIMEOUT, --timeout=TIMEOUT
timeout (secs) (0 = no timeout) per host (OPTIONAL)
-O OPTION, --option=OPTION
SSH option (OPTIONAL)
- v , --verbose turn on warning and diagnostic messages (OPTIONAL)
-A, --askpass Ask for a password (OPTIONAL)
-x ARGS, --extra-args=ARGS
Extra command -line arguments, with processing for
spaces, quotes, and backslashes
-X ARG, --extra-arg=ARG
Extra command -line argument
-i, --inline inline aggregated output and error for each server
--inline-stdout inline standard output for each server
-I, --send-input read from standard input and send as input to ssh
-P, --print print output as we get it
Example: pssh -h hosts.txt -l irb2 -o /tmp/foo uptime
|
标签:pssh,批量,--,host,hosts,服务器,txt,irb2
来源: https://www.cnblogs.com/zafu/p/16577653.html