集群分发配置脚本

编写集群分发脚本rsync-script
rsync 远程同步工具
rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。
rsync和scp区别:用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文
件都复制过去。
1 基本语法

rsync  -rvl   $pdir/$fname     $user@$host:$pdir/$fname
命令 选项参数 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称

2选项参数说明

选项功能
-r递归
-v显示复制过程
-l拷贝符号连接

rsync案例
1 三台虚拟机安装rsync (执行安装需要保证机器联网)

[root@linux121 ~]# yum install -y rsync

2.把linux121机器上的/opt/bigdata/software目录同步到linux122服务器的root用户下的/opt/目录

[root@linux121 opt]$ rsync -rvl /opt/bigdata/software/
root@linux122:/opt/bigdata/software

集群脚本编写
在/usr/local/bin这个目录下存放的脚本,root用户可以在系统任何地方直接执行。

[root@linux121 ]$ cd /usr/local/bin
[root@linux121 bin]$ touch rsync-script
[root@linux121 bin]$ vim rsync-script

在文件中编写shell代码

#!/bin/bash
#1 获取命令输入参数的个数,如果个数为0,直接退出命令
paramnum=$#
if((paramnum==0)); then
echo no params;
exit;
fi
#2 根据传入参数获取文件名称
p1=$1
file_name=`basename $p1`
echo fname=$file_name
#3 获取输入参数的绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
#4 获取用户名称
user=`whoami`
#5 循环执行rsync
for((host=121; host<124; host++)); do
echo ------------------- linux$host --------------
rsync -rvl $pdir/$file_name $user@linux$host:$pdir
done

修改脚本 rsync-script 具有执行权限

[root@linux121 bin]$ chmod 777 rsync-script

调用脚本形式:rsync-script 文件名称

[root@linux121 bin]$ rsync-script /home/root/bin

调用脚本分发Hadoop安装目录到其它节点

[root@linux121 bin]$ rsync-script /usr/local/bin
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值