同步脚本,在第5步要拼接自己配置的主机名
1 #!/bin/bash 2 #1 获取输入参数个数,如果没有参数,直接退出 3 pcount=$# 4 if((pcount==0)); then 5 echo no args; 6 exit; 7 fi 8
9 #2 获取文件名称 10 p1=$1
11 fname=$(basename $p1) 12 echo fname=$fname 13
14 #3 获取上级目录到绝对路径 15 pdir=$(cd -P $(dirname $p1); pwd) 16 echo pdir=$pdir 17
18 #4 获取当前用户名称 19 user=$(whoami) 20
21 #5 循环 22 for((host=3; host<5; host++)); do
23 #echo $pdir/$fname $user@hadoop${00}$host:$pdir 24 echo --------------- hadoop00$host ----------------
25 rsync -rvl $pdir/$fname $user@hadoop00$host:$pdir 26 done
命令脚本(注意修改拼接的主机名)
1 #!/bin/bash 2 pcount=$# 3 if((pcount==0));then 4 echo no args; 5 exit; 6 fi 7
8 #echo -------------localhost----------
9 $@ 10 for((host=3; host<=4; host++)); do
11 echo ----------hadoop00$host---------
12 ssh hadoop00$host $@ 13 done
把脚本保存在/usr/local/bin下就可以全局范围执行了