admin管理员组文章数量:1598625
一、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
(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也要刷新环境脚本
五、散会
版权声明:本文标题:配置xsync(详解) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1728298109a1152673.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论