配置xsync(详解)

一、xsync命令与rsync命令之间关系: 

  • xsync命令来源于一个rsync的脚本,这个脚本不是Linux系统自带的,是程序员写的。
  • xsync脚本的底层,实质上是调用Linux系统自带的rsync命令,来实现多个电脑之间的快速文件同步的一种方式。
  • rsync命令可以直接使用:(rsync命令实质是通过“用户+电脑IP地址”形式,向其他电脑发送数据,并在其他电脑上创建相同目录与文件)

rsync使用样式:(不演示用法)

rsync命令的用法:

rsync -rvl 拷贝的文件路径/名称 目的用户@主机IP地址:目的路径

例如:
rsync -rvl /root/shell/mytest.sh root@192.168.187.140:/root/shell/

二、xsync命令的作用

  • 使用xsync命令同步一个文件,会只将这个文件,同步到其他服务器的相同路径下面(没有的目录与文件会自动创建)
  • 使用xsync命令同步一个目录,会将这个目录下面的所有文件以及子目录,同步到其他服务器相同路径下面(没有的目录与文件会自动创建)
  • 多次同步某一个文件或者目录,第一次全部同步,第二次以及之后就只会同步里面发生更改的部分,未更改的部分不会重复同步

 三、配置xsync

   1、配置免密(我这里的主机名分别是test1/test2/test3)

(1)编辑hosts文件

输入命令:vim /etc/hosts

(2)加入参数

参数解析

 (3)拷贝hosts文件

输入命令:scp /etc/hosts root@test1:/etc/hosts
这里拷贝给test2,再拷贝给test3

 (4)验证拷贝情况

 (5)获取密匙

输入命令获取密匙:ssh-keygen -t rsa

 (6)分发密匙(每台都获取,都分发)

1.ssh-copy-id root@test1 # 三台主机都要分发
2.ssh-copy-id root@test2 # 三台主机都要获取密匙
3.ssh-copy-id root@test3

(7)验证免密 

2、 编辑脚本

(1)创建xsync.sh脚本文件

文件加入以下内容:
#!/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=20; host<=22;host++))
do
        echo ------------------- @192.168.187.$host --------------
        rsync -rvl $pdir/$fname $user@192.168.187.$host:$pdir/
done

 (2)给脚本文件给予可执行权限

 (3)移动脚本文件到bin文件下

 目的:让主机知道这个脚本,在系统内,识别到,才可以使用

 (4)任意位置调用xsync,使用方法:

xsync命令用法:
     xsync 路径/文件名
     xsync 路径/目录
注意:路径可以是绝对路径,也可以是相对路径

 (5)一键发送下载rsync(三台主机,按以下步骤进行)

(6)测试脚本

       (a)在home下,创建shell文件用于测试
       (b)测试一键传送(失败)

(7)错误解决

 检查另外的主机(其实还是失败的)

  • 直接使用未给shell文件目录,shell是在home里面创建的,因此要在home里面分发

 四、使用xsync脚本快速装jdk

(1)查询java版本和卸载jdk

  •  传统是用 rpm -e --nodeps +查询出来的包 这种方法很慢,介绍一种一键卸载java命令
输入命令:rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
  •  同样一键发送命令

  •  创建software文件夹
  •  使用xshell的xftp上传jdk压缩包
  •  解压到modules
  •  在 profile.d 下新建一个脚本,用于分发,里面放jdk、hadoop、zookeeper的配置环境等
  •  加入jdk路径和bin文件路径,保存刷新,检查jdk环境

  •  在modules下分发jdk

  •  分发环境脚本
  •  test2、test3也要刷新环境脚本

 五、散会

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

久久@星

你的鼓励将是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值