1pssh介绍
pssh可在发在多台机器上批量执行命令的工具,它支持文件并行复制,远程命令执行,杀掉远程主机上的进程等
等。当进行再远程主机批量上传下载的时候
2pssh的使用
在使用pssh之前,必须要保证管理主机和本地主机进行过密钥的认证,或者是在进行批量时,没有做过密钥认
证,但是必须保证被管理的多台主机的密码相同。
3安装
这个软件在epel源中有,需要下载epel源文件后,可以用yum来安装
CentOS 6
wget-O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
CentOS 7
wget-O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
4,常用命令
pssh:在远程多台主机上并行运行命令
pscp :把文件并行复制到多台远程主机上
prsync :使用rsync协议本地文件同步到远程多台主机上。
pnuke :在远程多台主机上并行killall某一进程
pslurp :把文件从远程多台主机上复制到本地主机上
5,pssh的常用参数
-h HOST_FILE 后边跟远程主机列表(ip)
-H HOST_STRING 后边跟远程主机名或者ip地址
-l USER 指定远程主机的用户名
-p PAR 指定pssh最大的并行线程数。
-o 将输出的内容重定向到一个指定的文件中
-O 指定ssh参数的具体配置
-e 将执行错误重定向到一个指定的文件中
-t 设定命令执行超时时间
-x 传递ssh命令的一些参数
-i 在远程主机上执行命令完成后显示标准输出和标准错误
-P 在执行远程命令时,输出执行结果
6,使用方法
生成密钥文件,并将文件拷贝到要控制的主机上
[root@localhost ~] ssh-keygen
[root@localhost ~] ssh-copy-id -i 192.168.8.133
查看远程主机上查看主机名
[root@localhost ~] pssh -H 192.168.8.133 -A -i hostname
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password:
[1] 09:29:05 [SUCCESS] 192.168.8.133
localhost.localdomain
查看远程主机文件夹下的目录
[root@localhost ~] pssh -H 192.168.8.133 -A -i ls -l /tmp/
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password:
[1] 09:30:20 [SUCCESS] 192.168.8.133
关闭远程主机的Apache服务
[root@localhost ~] pnuke -H 192.168.8.133 httpd
[1] 09:32:10 [SUCCESS] 192.168.8.133
远程主机拷贝文件到本地主机的root目录下,并改名为test1
[root@localhost ~] pslurp -H 192.168.8.133 -L /root/ /root/test test1
[1] 09:35:21 [SUCCESS] 192.168.8.133
注:在root目录下会自动创建一个和目标主机IP地址同名的目录,文件在此目录中
将多个主机的名称写入到文件中批量执行
[root@localhost ~] vim host.txt
192.168.8.133
192.168.8.128
[root@localhost ~] pssh -h host.txt -A -i hostname
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password:
[1] 09:53:42 [SUCCESS] 192.168.8.133
localhost.localdomain
[2] 09:53:42 [SUCCESS] 192.168.8.128
localhost