Linux-xsync分发脚本

Linux-xsync分发脚本xsync集群分发脚本(1)需求:循环复制文件到所有节点的相同目录下(2)需求分析:(a)rsync命令原始拷贝:rsync-av/opt/moduleatguigu@hadoop103:/opt/(b)期望脚本:xsync要同步的文件名称(c)期望脚本在任何路径都能使用(脚本放在声明了全局环境变量的路径)[atguigu@hadoop102~]$echo$PATH/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/ho

大家好,又见面了,我是你们的朋友全栈君。

xsync 集群分发脚本(首先已经设置免密登录
(1)需求:循环复制文件到所有节点的相同目录下
(2)需求分析:
(a)rsync 命令原始拷贝:

rsync -av /opt/module atguigu@hadoop103:/opt/

(b)期望脚本:
xsync 要同步的文件名称
(c)期望脚本在任何路径都能使用(脚本放在声明了全局环境变量的路径)

[atguigu@hadoop102 ~]$ echo $PATH
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/atguigu/.local/bin:/home/atguigu/bin:/opt/module/jdk1.8.0_212/bin

(3)脚本实现
(a)在/home/atguigu/bin 目录下创建 xsync 文件

[atguigu@hadoop102 opt]$ cd /home/atguigu
[atguigu@hadoop102 ~]$ mkdir bin
[atguigu@hadoop102 ~]$ cd bin
[atguigu@hadoop102 bin]$ vim xsync

在该文件中编写如下代码

#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
 echo Not Enough Arguement!
 exit;
fi
#2. 遍历集群所有机器
for host in cdh1 cdh2 cdh3
do
 echo ==================== $host ====================
 #3. 遍历所有目录,挨个发送
 for file in $@
 do
 #4. 判断文件是否存在
 if [ -e $file ]
 then
 #5. 获取父目录
 pdir=$(cd -P $(dirname $file); pwd)
 #6. 获取当前文件的名称
 fname=$(basename $file)
 ssh $host "mkdir -p $pdir"
 rsync -av $pdir/$fname $host:$pdir
 else
 echo $file does not exists!
 fi
 done
done

(b)修改脚本 xsync 具有执行权限

[atguigu@hadoop102 bin]$ chmod +x xsync

(c)测试脚本

[atguigu@hadoop102 ~]$ xsync /home/atguigu/bin

(d)将脚本复制到/bin 中,以便全局调用

[atguigu@hadoop102 bin]$ sudo cp xsync /bin/

(e)同步环境变量配置(root 所有者)

[atguigu@hadoop102 ~]$ sudo ./bin/xsync 
/etc/profile.d/my_env.sh

注意:如果用了 sudo,那么 xsync 一定要给它的路径补全。
让环境变量生效

[atguigu@hadoop103 bin]$ source /etc/profile
[atguigu@hadoop104 opt]$ source /etc/profile

测试:

 xsync zookeeper-3.4.14

在这里插入图片描述
这样就将zookeeper的目录传到cdh1 cdh2 cdh3三个节点中

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146045.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 决策树算法的应用python实现_python怎么画出决策树的分支

    决策树算法的应用python实现_python怎么画出决策树的分支决策数(DecisionTree)在机器学习中也是比较常见的一种算法,属于监督学习中的一种。看字面意思应该也比较容易理解,相比其他算法比如支持向量机(SVM)或神经网络,似乎决策树感觉“亲切”许多。优点:计算复杂度不高,输出结果易于理解,对中间值的缺失值不敏感,可以处理不相关特征数据。缺点:可能会产生过度匹配的问题。使用数据类型:数值型和标称型。简单介绍完毕,让我们来通过一个例子让决策树“

    2025年10月8日
    3
  • Spring Boot集成AD域实现统一用户认证

    1.引言由于近期需要开发基于JWTToken的统一身份认证服务项目,因此需要集成公司原有的AD域实现用户的身份认证问题,项目采用SpringBoot框架进行开发,在此将相应的集成开发步骤进行记录。1.1LDAP简介目录是一个为查询、浏览和搜索而优化的专业分布式数据库,它呈树状结构组织数据,就好象Linux/Unix系统中的文件目录一样。目录数据库和关系数据库不同,它有…

    2022年4月8日
    241
  • goland 激活码2021【在线注册码/序列号/破解码】

    goland 激活码2021【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    380
  • 〖EXP〗NSA MS17010永恒之蓝漏洞一键工具「建议收藏」

    〖EXP〗NSA MS17010永恒之蓝漏洞一键工具「建议收藏」漏洞简介永恒之蓝是指2017年4月14日晚,黑客团体ShadowBrokers(影子经纪人)公布一大批网络攻击工具,其中包含“永恒之蓝”工具,“永恒之蓝”利用Windows系统的SMB漏洞可以获取系统最高权限。5月12日,不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒,英国、俄罗斯、整个欧洲以及中国国内多个高校校内网、大型企业内网和政府机构专网中招,被勒索支付高额赎金才能解密恢复文件。漏洞检测无损检测,不会对目标造成任何危害,大家无需担心Ladon192.168.1.8MS1701

    2022年6月3日
    162
  • OleDbCommand使用参数应该注意的地方

    OleDbCommand使用参数应该注意的地方最近写程序用到OleDbCommand的Parameter写数据库,遇到很多问题:1、OLEDB.NETFramework数据提供程序和ODBC.NETFramework数据提供程序不支持用于将参数传递到SQL语句或存储过程的命名参数。在此情况下,必须使用问号(?)占位符,如以下示例所示。SELECT*FROMCustomersWHERECustomerID

    2022年5月19日
    38
  • linux的linux-aarch64和 linux-x86_64「建议收藏」

    linux的linux-aarch64和 linux-x86_64「建议收藏」在下载linuxtar包的时候可以看到有下面两种tar包。。。。。。。。什么意思呢?linux-aarch64.tar.gzlinux-x86_64.tar.gz是指服务器内核版本使用命令$arch即可查看自己linux的内核版本。正常情况下下载x86的就可以这个说是cpu架构https://blog.csdn.net/rd_w_csdn/article/details/53841018这个说是交叉编译工具链应该也是提供一个aarch64内核…

    2022年10月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号