轻量级自动化运维工具
pssh
基于python编写,可在多台服务器上执行命令的工具,也可实现文件复制,提供了基于ssh和scp的多个并行工具
项目:http://code.google.com/p/parallel-ssh/
语法:
Usage: pscp.pssh [OPTIONS] local remote
常用选项:
--version:查看版本 -h:主机文件列表,内容格式”[]host[:port]” -H:主机字符串,内容格式”[]host[:port]” -A:手动输入密码模式 -i:每个服务器内部处理信息输出 -l:登录使用的用户名 -p:并发的线程数【可选】 -o:标准输出文件的输出目录(可选) -e:标准错误文件的输出目录(可选) -t:TIMEOUT 超时时间设置,0无限制【可选】 -O:SSH的选项 -P:打印出服务器返回信息 -v:详细模式
【例1】通过pssh批量向主机文件列表中的主机执行echo "hello pssh"。
[ ~]# cat host.txt 172.20.200.200 192.168.8.61 [ ~]# pssh -h host.txt -i echo "hello pssh" [1] 16:31:10 [SUCCESS] 192.168.8.61 hello pssh [2] 16:31:10 [SUCCESS] 172.20.200.200 hello pssh
注:当不支持ssh的key认证时,可通过-A选项,手动输入密码认证批量执行指令。
【例2】将标准错误和标准正确重定向都保存至本地主机的/app目录下。
[ ~]# pssh -h host.txt -o /app/ -e /app/ -i echo "hello pssh" [1] 16:52:32 [SUCCESS] 192.168.8.61 hello pssh [2] 16:52:32 [SUCCESS] 172.20.200.200 hello pssh [ ~]# ls /app/ 172.20.200.200 192.168.8.61 [ ~]# cat /app/192.168.8.61 hello pssh
pscp.pssh命令
功能:将本地文件批量复制到远程主机
语法:
[ ~]# pscp.pssh --help Usage: pscp.pssh [OPTIONS] local remote
选项:基本与pssh命令一致,不过有个-r选项可以递归复制目录
【例1】将本地/etc/fstab文件批量复制到主机列表文件中的主机的/app目录下
[ ~]# pscp.pssh -h host.txt /etc/fstab /app/ [1] 17:19:32 [SUCCESS] 192.168.8.61 [2] 17:19:32 [SUCCESS] 172.20.200.200 [ ~]# pssh -h host.txt -i ls /app/ -l [1] 17:25:14 [SUCCESS] 192.168.8.61 total 4 -rw-r--r-- 1 root root 595 Nov 8 20:27 fstab [2] 17:25:14 [SUCCESS] 172.20.200.200 total 4 -rw-r--r-- 1 root root 595 Nov 9 17:19 fstab
【例2】将本地目录/test/批量复制到主机文件列表中的主机的/app目录
[ ~]# pscp.pssh -h host.txt -r /test/ /app/ [1] 17:23:14 [SUCCESS] 192.168.8.61 [2] 17:23:14 [SUCCESS] 172.20.200.200 [ ~]# pssh -h host.txt -i ls /app/ -l [1] 17:26:33 [SUCCESS] 192.168.8.61 total 8 -rw-r--r-- 1 root root 595 Nov 8 20:27 fstab drwxr-xr-x 2 root root 4096 Nov 8 20:33 test [2] 17:26:33 [SUCCESS] 172.20.200.200 total 4 -rw-r--r-- 1 root root 595 Nov 9 17:19 fstab drwxr-xr-x 2 root root 48 Nov 9 17:25 test
pslurp命令
功能:将远程主机的文件批量复制到本地,与pscp.pssh命令功能相反。
语法:
pslurp [-vAr] [-h hosts_file] [-H []host[:port]] [-l user] [-p par] [-o outdir] [-e errdir] [-t timeout] [-O options] [-xargs] [-X arg] [-L localdir] remote local(本地名)
选项:
-L 将文件从远程主机复制到给定的本地目录,local是下载到本地后的名称
【例】批量下载目标服务器的passwd文件至本地目录/app下,并更名为user
[ ~]# pslurp -h host.txt -L /app/ /etc/passwd user [1] 17:35:38 [SUCCESS] 192.168.8.61 [2] 17:35:38 [SUCCESS] 172.20.200.200 [ ~]# tree /app/ /app/ ├── 172.20.200.200 │?? └── user └── 192.168.8.61 └── user 2 directories, 2 files
相关推荐
83510695 2020-01-10
80520995 2019-10-27
82244653 2019-10-28
BraveWangDev 2020-06-05
hulao 2019-11-09
sdfshfh 2010-08-03
fanwenjieok 2017-04-12
zgsky0 2017-02-20
庄志锋 2019-02-14
庄志锋 2018-09-14
qiaoqiangv 2014-02-07
jqh 2013-08-10
StupidBirds 2013-08-09
hehuistudent 2012-08-07
milu 2012-07-13
SQtttt 2012-06-12
Android学习 2012-06-12
HeKing 2011-12-17
稀土 2018-05-19