37、Linux中Xsync数据同步备份工具
- 电脑硬件
- 2025-07-22 09:15:01

37、Linux中Xsync数据同步备份工具 一、介绍二、配置集群hostname三、修改xsync文件四、赋权五、安装Rsync六、验证一七、配置免密登录1、生成rsa密钥2、copy机器自身公钥到目标机器3、.ssh/文件目录赋权 八、验证二 ⚠️ 注:本文全程在普通用户下操作,非root账户。个别命令前需要添加sudo 一、介绍
Xsync: 基于 Rsync 工具编写的 Linux shell 脚本。用于简化在 集群环境中同步文件 的操作。该脚本封装了 Rsync 命令行参数,可以 将本地文件或目录同步到多台远程主机上 。尤其在Hadoop或其他分布式集群管理中非常有用。它能自动遍历集群中的各个节点并执行同步任务。
简而言之,在集群机器配置时,经常 需要将一个文件或目录copy到同样的多台集群上。 一个一个机器去复制,比较麻烦。如果有一个办法,通过一条命令就可以实现这个目的,就简单多了。xsync就是这样一个同步脚本。 Xsync 其实是对 Rsync 脚本的二次封装,脚本内容可以根据自己需要进行修改。
二、配置集群hostname # 命令 sudo vim /etc/hosts添加如下内容(ip和主机名根据实际情况修改):
# ip和主机名 192.168.250.130 ulanhada130 192.168.250.131 ulanhada131 192.168.250.132 ulanhada132 三、修改xsync文件修改 /usr/local/bin/ 下的 xsync 文件,如果没有就新建。
# 新建xsync文件 touch xsync在 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((host=130;host<133;host++)); do echo ------------------- ulanhada$host -------------- rsync -rvl $pdir/$fname $user@ulanhada$host:$pdir done其中的 ulanhada 是我起的名字,与 hosts 中配置的 ulanhada 一样,可自定义,但两者必须匹配,大家根据实际情况修改~
四、赋权 chmod 777 xsync 五、安装Rsync需要给每台远程目标服务器下载 rsync,包括本机。如果都已安装,则跳过该步骤~
sudo yum -y install rsync 六、验证一使用 xsync +需要分发的文件名(文件夹也可以) 进行分发
# 语法:xsync [文件名/文件夹名] xsync a.txt由上图可见,需要 输入各个服务器的密码 。 如果打算省略输入密码的步骤,请看 步骤七 。 如果需要输入密码,则跳过步骤七。
七、配置免密登录 1、生成rsa密钥使用命令 ssh-keygen 生成 rsa密钥。配置信息直接回车即可, 生成的密钥默认在当前用户主目录的 .ssh 目录下。 📣密钥文件有两个: id_rsa: 存放着私钥 id_rsa.pub: 存放着公钥
ssh-keygen2、copy机器自身公钥到目标机器
在各个远程目标机器的用户主目录创建 .ssh 目录
mkdir -p ~/.ssh在本地执行远程拷贝命令
cd /home/ulanhada/.ssh # 语法:scp [本地文件的绝对路径] [服务器用户名]@[主机名/主机IP]:[远程文件的绝对路径] scp id_rsa.pub ulanhada@ulanhada130:/home/ulanhada/.ssh/authorized_keys scp id_rsa.pub ulanhada@ulanhada131:/home/ulanhada/.ssh/authorized_keys scp id_rsa.pub ulanhada@ulanhada132:/home/ulanhada/.ssh/authorized_keys📣拓展: 递归复制整个目录
# 语法:scp -r [本地文件夹的绝对路径] [服务器用户名]@[主机名/主机IP]:[远程文件夹的绝对路径] 3、.ssh/文件目录赋权在各个目标服务器分别给 .ssh 文件夹赋权限
chmod 700 .ssh/ 八、验证二 xsync d.txt上图所示,发现不再需要输入密码。则无密码传输配置成功~
到这里 Linux中Xsync数据同步备份工具 就结束了!!!🎉🎉🎉 欢迎小伙伴们学习和指正!!!😊😊😊 祝大家学习和工作一切顺利!!!😎😎😎
37、Linux中Xsync数据同步备份工具由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“37、Linux中Xsync数据同步备份工具”