标签:
一:下载
    wget ftp://ftp.cn.debian.org/gentoo/distfiles/pssh-2.3.1.tar.gz
二:本地主机和远程主机单向信任
    1:准备一个单独的用户
        useradd crazy
        su - crazy
    2:在本地主机创建RSA密钥和公钥
        mkdir ~/.ssh
        chmod 700 ~/.ssh  设置权限保障安全
        cd .ssh/
        ssh-keygen  创建一对公私玥
    3:远程拷贝在远程的主机
        ssh-copy-id root@192.168.1.98
        ssh-copy-id root@192.168.1.99
        ssh-copy-id root@192.168.1.100
        ssh root@192.168.1.98
        .....
        不要密码直接登入
三:pssh安装
    tar -xf pssh-2.3.1.tar.gz
    cd pssh-2.3.1/
    python setup.py install
四:pssh用法
    安装完成后,产生5个程序
    pssh:远程多台主机并运行命令
    pscp:把文件并行复制到远程的多台主机上。类似scp
    prsync:将文件同步到远程主机
    pnuke:在远程多台主机上并行killall某进程
    pslurp:把文件从多台远程主机复制到本地主机,与pscp相反
参数:
    -h HOST_FILE  跟远程主机列表文件
    -H HOST       跟远程主机地址
    -l user       指定远程主机上的用户名
    -p PAR        指定pssh最大并行线程数
    -o outdir     将输出内容重定向到一个指定文件中
    -O option     指定ssh参数的具体配置
    -e errdir     将执行错误重定向到一个指定文件中
    -t timeout    设置命令执行的超时时间
    -A            提示输入密码,将密码传递给ssh服务
    -x ARGS       用于传递ssh命令的一些参数,每个参数用""括起来,传递多个用空格分开
    -X            只能传递指定的一个命令参数
    -i            显示输出信息
    -P            执行远程命令输出执行结果
五:实战应用
    1:查看多台远程主机的负载
        创建远程主机列表文件
        cat ip.txt
        root@192.168.1.98
        root@192.168.1.99
        root@192.168.1.100
        查看负载
        pssh -h ip.txt -i "uptime"
        [1] 09:33:13 [SUCCESS] root@192.168.1.99
         17:33:12 up 16:16,  0 users,  load average: 0.00, 0.00, 0.00
        [2] 09:33:13 [SUCCESS] root@192.168.1.98
         17:04:27 up 21:54,  2 users,  load average: 0.00, 0.00, 0.00
        [3] 09:33:13 [SUCCESS] root@192.168.1.100
         17:33:12 up 16:16,  0 users,  load average: 0.00, 0.00, 0.00
    2:批量创建文件和删除
        pssh -h ip.txt -i "echo "Hello World">files"
        pssh -h ip.txt -i "cat files"
        pssh -h ip.txt -i "rm files"
        pssh还可以批量安装软件,解压文件.....
        pssh -h ip.txt -i "yum install httpd -y"
        pssh -h ip.txt -i "service httpd start"
        pssh -h ip.txt -i "netstat -antup | grep httpd"
    3:批量复制文件到远程主机
        pscp -h ip.txt /etc/ssh/sshd_config /tmp
        pscp -h ip.txt -r /opt/zarp/ /tmp   -r 递归
    4:将远程主机文件批量复制到本地主机
        pslurp -h ip.txt -L /home/crazy  /etc/passwd passwd
        pslurp -h ip.txt -r -L /home/crazy  /etc/yum.repos.d yum
        -r -L 参数位置不能颠倒
    5:将本地主机文件或目录同步到远程主机上
        prsync -h ip.txt -l root -a -r /var/www/ /var/www/
        -a 权限,属性保持
        -r 递归
        /var/www /var/www  本地主机 远程主机
        prsync -h ip.txt -l root -az -r /var/www/ /var/www/
        -z压缩传输
    6:远程杀掉进程
        pnuke -h ip.txt  httpd
其他轻量级自动化运维工具
pdsh
mussh
ClusterSSH
标签:
原文地址:http://www.cnblogs.com/ylion/p/5519642.html