pssh批量管理主机
pssh安装:
# yum install *python*
# tar zxvf pssh-1.4.3.tar.gz
# cd pssh-1.4.3
# python setup.py install
pssh使用:
1>
# 批量执行hostname命令
# pssh -h other.txt -l root -i hostname
2>
# 批量拷贝本地文件nrpe.tgz到远端服务器
# pscp -h other.txt -l root /home/soft/nrpe.tgz /usr/local/
3>
其它各命令使用举例:
pscp
[root@lnamp ~]# pscp -h server.txt -l root test.txt /tmp/test.txt
[1] 14:58:53 [SUCCESS] 192.168.8.50
[2] 14:58:53 [SUCCESS] 192.168.8.220
prsync
[root@lnamp ~]# prsync -r -h server.txt -l root mongodb-linux-x86_64-2.0.5.tgz /tmp/
[1] 14:56:45 [SUCCESS] 192.168.8.220
[2] 14:57:50 [SUCCESS] 192.168.8.50
pslurp
[root@lnamp ~]# pslurp -r -h server.txt /tmp/authorized_keys /tmp/
[1] 15:02:21 [SUCCESS] 192.168.8.220
[2] 15:02:21 [SUCCESS] 192.168.8.50
PS: 这里要注意下,/tmp/authorized_keys为远程的文件!
这个例子就是把远程服务器上的的 /tmp/authorized这个文件拷贝到本机的 /tmp/目录下
[root@lnamp ~]# pslurp -r -h server.txt -L /tmp/ /etc/init.d init.d
[1] 06:31:57 [SUCCESS] 192.168.8.50
[2] 06:31:58 [SUCCESS] 192.168.8.220
[root@lnamp ~]# ll /tmp/192.168.8.*/
/tmp/192.168.8.220/:
total 4
drwxr-xr-x 2 root root 4096 Jun 3 06:31 init.d
/tmp/192.168.8.50/:
total 4
drwxr-xr-x 2 root root 4096 Jun 3 06:31 init.d
可以看到在tmp目录下先生成以远程服务器IP的目录名,再在这个目录下生成我们指定的目录名 init.d
-r表示递归子目录
-L 选项指定创建子目录的位置
/etc/init.d 为远程服务器上的目录
init.d 为拷贝到 -L 指定的本地目录下面的目录名
pnuke
pnuke用法-并行地在多个远程主机上杀死进程
pnuke 相当于运行 ssh host killall。pnuke 的参数是一个模式。在远程计算机上运行的名称符合这个模式的所有进程都被杀死。可以用此命令方便地在一组服务器上停止同一守护进程。
root@lnamp ~]# pnuke -h server.txt -l root cron
[1] 06:39:51 [SUCCESS] 192.168.8.50
[2] 06:39:52 [SUCCESS] 192.168.8.220
命令的结果则是在server.txt文件中指定的主机上执行killall cron命令,其中cron为
匹配到cron的进程, 只要ps进程中出现相关词语都能杀死!
PS:对于各个命令的用法大家可以查看各命令的帮助,如:pssh --help