`

pssh 工具

阅读更多

1Linux系统

 

管理上千服务器而且要并发执行要么字写工具用开源的也不错,

这类工具比如 pdsh,mussh,cssh,dsh等还有这里提到的pssh:
1  安装:

#wget http://peak.telecommunity.com/dist/ez_setup.py
python ez_setup.py
#wget http://parallel-ssh.googlecode.com/files/pssh-2.2.2.tar.gz
# tar zxvf pssh-2.2.2.tar.gz
# cd pssh-2.2.2
# python setup.py install

 

 

pssh   多主机并行运行命令

pscp   传输文件到多个hosts,他的特性和scp差不多

pslurp   从多台远程机器拷贝文件

pnuke    kill远程机器的进程

pslurp   从远程主机考本文件到本地

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

 

pssh:

-h 执行命令的远程主机列表  或者 -H user@ip:port  文件内容格式[user@]host[:port]

-l 远程机器的用户名

-p 一次最大允许多少连接

-o 输出内容重定向到一个文件

-e 执行错误重定向到一个文件

-t 设置命令执行的超时时间

-A 提示输入密码并且把密码传递给ssh

-O 设置ssh参数的具体配置,参照ssh_config配置文件

-x 传递多个SSH 命令,多个命令用空格分开,用引号括起来

-X 同-x 但是一次只能传递一个命令

-i 显示标准输出和标准错误在每台host执行完毕后

-I 读取每个输入命令,并传递给ssh进程 允许命令脚本传送到标准输入

-P 打印输出


2  pssh使用 (假设ssh已做好SSH信任,ssh信任请参看:关于ssh命令研究以及SSH信任详解)
pssh工具包主要有5个程序:
1 pssh  多主机并行运行命令

[root@server pssh-2.2.2]# pssh -P -h test.txt uptime
192.168.9.102:  14:04:58 up 26 days, 17:05,  0 users,  load average: 0.07, 0.02, 0.00
192.168.9.102: [1] 14:04:58 [SUCCESS] 192.168.9.102 9922
192.168.8.171:  14:04:59 up 35 days,  2:01,  6 users,  load average: 0.00, 0.00, 0.00
192.168.8.171: [2] 14:04:59 [SUCCESS] 192.168.8.171 22
192.168.9.104:  14:04:59 up 7 days, 20:59,  0 users,  load average: 0.100.040.01
192.168.9.104: [3] 14:04:59 [SUCCESS] 192.168.9.104 9922
[root@server pssh-2.2.2]# cat test.txt
192.168.9.102:9922
192.168.9.104:9922
192.168.8.171:22   //注意我的端口号不仅是默认的22
假如想将输出重定向到一个文件 加-o file 选项

2 pscp  把文件并行地复制到多个主机上
注意 是从服务器端给客户端传送文件:

[root@server pssh-2.2.2]# pscp -h test.txt /etc/sysconfig/network /tmp/network   //标示将本地的/etc/sysconfig/network传到目标服务器的/tmp/network

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

[root@server ~]# pssh -h test.txt -P mkdir /tmp/etc
[root@server ~]# prsync -h test.txt -l dongwm -a -r /etc/sysconfig /tmp/etc //标示将本地的/etc/sysconfig目录递归同步到目标服务器的 /tmp/etc目录下,并保持原来的时间戳,使用用户 dongwm

4  pslurp 将文件从远程主机复制到本地,和pscp方向相反:

[root@server ~]# pslurp -h test.txt   -L /tmp/test -l root /tmp/network test  //标示将目标服务器的/tmp/network文件复制到本地的/tmp/test目录下,并更名为test
[1] 14:53:54 [SUCCESS] 192.168.9.102 9922
[2] 14:53:54 [SUCCESS] 192.168.9.104 9922
[root@server ~]# ll /tmp/test/192.168.9.10
192.168.9.102/ 192.168.9.104/
[root@server ~]# ll /tmp/test/192.168.9.102/
总计 4.0K
-rw-r--r-- 1 root root 60 2011-04-22 14:53 test
[root@server ~]# ll /tmp/test/192.168.9.104/
总计 4.0K
-rw-r--r-- 1 root root 60 2011-04-22 14:53 test

5  pnuke 并行在远程主机杀进程:

[root@server ~]# pnuke -h test.txt   syslog //杀死目标服务器的syslog进程,只要ps进程中出现相关词语 都能杀死
[1] 15:05:14 [SUCCESS] 192.168.9.102 9922
[2] 15:05:14 [SUCCESS] 192.168.9.104 9922

 

2 Window系统

pscp和scp功能相同,但pscp同时支持windows下使用,它有效解决了windows系统向linux服务器传输文件,而且它只有一个文件,即pscp.exe,建议将该文件放到C:\WINDOWS\system32下面,这样就可以在任何地方调用该文件命令,你也可以放在任意你指定文件夹下。

 

pscp语法基本与scp相同,但也有一下几个注意点:

-p 拷贝文件的时候保留源文件建立的时间。
-q 执行文件拷贝时,不显示任何提示消息。
-r 拷贝整个目录
-v 拷贝文件时,显示提示信息。

 

Usage:
  pscp [options] [user@]host:source target
  pscp [options] source [source...] [user@]host
  pscp [options] -ls user@host:filespec


  用法:
  pscp [选项] [用户名@]主机:源文件 目标文件
  pscp [选项] 源文件 [源文件……] [用户名@]主机
  pscp [选项] -ls 用户名@主机:文件空间?


  Options:
  选项:
  -p preserve file attributes 保护文件属性
  -q quiet, don't show statistics 安静,不显示统计
  -r copy directories recursively 复制子文件夹
  -V print version information and exit 显示信息
  -v show verbose messages
  -load sessname Load settings from saved session
  -load 加载,加载保存节的设定
  -P port connect to specified port
  -P 端口,连接到指定空间端口
  -l user connect with specified username
  -l 用户,用指定的用户连接空间
  -pw passw login with specified password
  -pw 密码,用指定的密码登录空间
  -1/-2 强迫 ssh 使用的版本
  -4 -6 force use of IPv4 or IPv6
  -C 打开压缩
  -i key 钥匙,证明用的钥匙文件
  -batch 关闭交互能力,也许
  -unsafe 不安全,允许伺服端取代字符 (危险的)

 

例子:

假设需要从ftp上抽取opt目录下所有名字为log_2*.zip的压缩文件到本地D:\local\zip,然后解压到D:\local\unzip文件夹下。

需要工具:putty, pscp.exe, 7-zip

putty目录:D:\putty_path\putty

7-zip目录:C:\Program Files\7-Zip

 

脚本如下:

D: 
cd D:\putty_path\putty
pscp -pw password username@server:/opt/*/log_2*.zip D:\local\zip
C:
cd C:\Program Files\7-Zip
7z x "D:\local\zip\*.zip" -aoa -o "D:\local\unzip"

 

其中server为ftp服务器名,username为登陆ftp的用户名,password为登陆ftp的密码。

 

 

http://312461613.blog.51cto.com/965442/1686599/

http://blog.csdn.net/qzlmhy/article/details/22403603

分享到:
评论

相关推荐

    linux轻量级pssh工具

    pssh是python写的可以并发在多台机器上批量执行命令的工具,它的用法可以媲美ansible的一些简单用法,执行起来速度比ansible快它支持文件并行复制,远程命令执行,杀掉远程主机上的进程等等。杀手锏是文件并行复制,...

    通过pssh和sshpass工具实现一对多的免密登陆+批量操作

    pssh(yum install pssh安装):用于批量执行操作,前提是已经配置好了ssh免密登录 sshpass(yum install sshpass安装):用于ssh登陆时自动输入密码 思路: 服务器A上生成公钥,将公钥分发给所有SUT的test用户,...

    pssh-2.3.1.zip

    PSSH提供OpenSSH和相关工具的并行版本。包括pssh,pscp,prsync,pnuke和pslurp。该项目包括psshlib,可以在自定义应用程序中使用。 pssh是python编写,可以并发在多台机器上批量执行命令的工具,用法可以媲美...

    mussh-pssh合集.rar

    ssh只能连一台服务器,当同时有多台服务器需求管理时,并行ssh工具极大提高管理效率,mussh、pssh就是这样的工具。

    pssh使用文档

    pssh是一个简单的字符界面并发向多个服务器发送指令进行执行的工具。适合一次性向集群大量服务器发送相同指令(并观察输出)。

    pssh-2.3.1.tar.gz

    PSSH是一个可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的。使用是必须在各个服务器上配置好密钥认证访问。 传个工具这么复杂?还不能提供帖子附件下载了? BS ——cdsn

    pssh远程套件工具配置.doc

    准备实验所需的虚拟机环境,实验环境所需要的主机及对应的IP设置列表,正确配置IP地址、主机名称,并且为每台主机配置YUM 源。

    pssh:并行SSH工具

    PSSH提供了并行版本的OpenSSH和相关工具,包括pssh,pscp,prsync,pnuke和pslurp。 该项目包括psshlib,可在自定义应用程序中使用。 源代码是用Python编写的。 在Python 3.5及更高版本中支持PSSH的此派生。 它最初...

    bloomer:用Go语言编写的类似于pssh的工具

    盛开 ``` bloom bloom is a command-line tool for executing tasks on groups of servers. Usage: bloom [options] <task> Options: -f --file BLOOMFILE Path to bloom.toml config file ...

    使用PSSH批量管理Linux服务器

    pssh是python开发的一个用来批量管理linux主机的工具,现在我们来介绍pssh的使用方法。

    企业Linux运维自动化实战视频.zip

    9PSSH企业实战批量工具.mp4 10PSSH企业实战批量工具.mp4 11Ansible自动化运维工具实战.mp4 12Ansible自动化运维工具实战.mp4 13Ansible自动化运维工具实战.mp4 14Ansible自动化运维工具实战.mp4 15Ansible自动化运维...

    parallel-ssh:PSSH提供了并行版本的OpenSSH和相关工具

    SSH上的任意命令( pssh实用程序) 通过SSH(分别为pscp和pslurp实用程序)将文件复制到远程服务器或从远程服务器复制文件 通过SSH同步文件( prsync实用程序) 通过SSH pnuke终止进程( pnuke实用程序) 该项目...

    MySQL管理之道 性能调优、高可用与监控.part2.rar

    8.1 开源工具pssh的使用方法 270 8.2 自己编写的ssh服务器批量管理工具 273 第四部分 监控篇 第9章 性能监控 278 第10章 服务监控 283 10.1 nagios搭建与维护 283 10.2 mysql数据库的监控脚本 288 第五部分 ...

    如何设计并实现一个通用的应用运维管控平台

    大部分的应用运维工作随着服务器数量和产品数量的...服务器数量较多的情况下,我们可以通过包装ssh或者使用批量ssh工具,如pssh,ansible等来解决问题,但这种方式大多数都是一次性的方式,无论使用方法以及后续跟踪来

    pdsh-2.26源文件

    pdsh的全称是parallel distributed shell,与pssh类似,pdsh可并行执行对远程目标主机的操作,在有批量执行命令或分发任务的运维需求时,使用这个命令可达到事半功倍的效果。同时,pdsh还支持交互模式,当要执行的...

Global site tag (gtag.js) - Google Analytics