1、命令分发同步脚本:xcall
#!/bin/bash params=$@ for((i=102 ;i < 105 ;i=$i+1 ));do echo ==========hadoop$i $params========== ssh hadoop$i "source /etc/profile;$params" done
将写好的脚本附权限chmod 777 xcall
并放到 /bin/目录下即可
2、同步复制脚本:xsync
#!/bin/bash #1 获取输入参数个数,如果没有参数,直接退出 pcount=$# if ((pcount==0)); then echo no args; exit; fi #2 获取文件名称 p1=$1 fname=`basename $p1` echo fname=$fname #3 获取上级目录到绝对路径 pdir=`cd -P $(dirname $p1); pwd` echo pdir=$pdir #4 获取当前用户名称 user=`whoami` #5 循环 for((host=103; host<105; host++)); do echo ------------------- hadoop$host -------------- rsync -av $pdir/$fname $user@hadoop$host:$pdir done
方法同上。该脚本以后只需要在一台主机上安装配置软件,即可同步分发到其他多台机器上,有的只需做稍微修改(比如ip,id之类的),非常方便。