大数据集群分发同步脚本

集群分发脚本 xsync
在/usr/local/bin 目录下,创建 xsync 文件

[root@yh-hadoop101 bin]# pwd
/usr/local/bin
[root@yh-hadoop101 bin]# chmod 777 xsync 
[root@yh-hadoop101 bin]# ll
total 4
-rwxr-xr-x 1 root root 487 Sep 29 13:58 xsync
[root@yh-hadoop101 bin]# cat 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 i in yh-hadoop102 yh-hadoop103 yh-hadoop104 yh-hadoop105
do
echo ------------------- $i --------------
rsync -rvl $pdir/$fname $user@$i:$pdir
done

集群整体操作脚本
[root@yh-hadoop101 bin]# pwd
/usr/local/bin
[root@yh-hadoop101 bin]# ll
total 8
-rwxrwxrwx 1 root root 158 Sep 29 14:04 xcall
-rwxrwxrwx 1 root root 487 Sep 29 13:58 xsync
[root@yh-hadoop101 bin]# cat xcall 
#! /bin/bash
for i in yh-hadoop101 yh-hadoop102 yh-hadoop103 yh-hadoop104 yh-hadoop105
do
echo --------- $i ----------
ssh $i "source /etc/profile ; $*"
done

[root@yh-hadoop101 bin]# xcall ls -l /data/
--------- yh-hadoop101 ----------
total 0
drwxrwxr-x 2 hadoop hadoop 40 Sep 29 13:45 software
--------- yh-hadoop102 ----------
total 0
drwxrwxr-x 2 hadoop hadoop 6 Sep 29 13:43 software
--------- yh-hadoop103 ----------
total 0
drwxrwxr-x 2 hadoop hadoop 6 Sep 29 13:43 software
--------- yh-hadoop104 ----------
total 0
drwxrwxr-x 2 hadoop hadoop 6 Sep 29 13:43 software
--------- yh-hadoop105 ----------
total 0
drwxrwxr-x 2 hadoop hadoop 6 Sep 29 13:43 software

猜你喜欢

转载自blog.51cto.com/12445535/2539720