网站开发职位要求,天津建站商城,桂平市住房和城乡建设局门户网站,镇江网页设计实战班一、rsync 简介 rsync#xff08;remote synchronize#xff09;是 Liunx/Unix 下的一个远程数据同步工具。它可以通过 LAN/WAN 快速同步多台主机间的文件和目录#xff0c;并适当利用 rsync 算法#xff08;差分编码#xff09;以减少数据的传输。 rsync 算法并不是每一次…一、rsync 简介 rsyncremote synchronize是 Liunx/Unix 下的一个远程数据同步工具。它可以通过 LAN/WAN 快速同步多台主机间的文件和目录并适当利用 rsync 算法差分编码以减少数据的传输。 rsync 算法并不是每一次都整份传输而是只传输两个文件的不同部分因此其传输速度相当快。除此之外rsync 支持拷贝文件、显示目录属性等并可以选择性的压缩以及递归拷贝。
二、安装 如果想要几台服务器互相传文件则需要每台服务器都安装这个工具如果只是一个节点向其他节点发送文件那么安装和修改配置文件只需要操作一台服务器即可。
yum install -y rsync
三、修改配置文件 1、在 etc/hosts 中添加映射信息如下
192.168.229.165 mylinux01
192.168.229.169 mylinux02
192.168.229.168 mylinux03 2、配置 ssh 免密执行下面的命令
# 删除原有的配置文件
rm -rf /root/.ssh# 生成密钥执行命令三次回车即可
ssh-keygen# 切换目录并重命名文件
cd /root/.ssh
mv id_rsa.pub authorized_keys# 配置免密操作
scp -r /root/.ssh mylinux02:/root
scp -r /root/.ssh mylinux03:/root四、编写 xsync 脚本 1、在 mylinux01 服务器的 /bin 目录下创建一个文件名为 xsync 的文件内容如下所示
#!/bin/bash
# 1、判断参数个数
if [ $# -lt 1 ]
thenecho Not Enough Arguement!exit;
fi
# 2、遍历集群所有机器
for host in mylinux01 mylinux02 mylinux03 # 注意修改hosts对应解析
doecho $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 $pdirrsync -av $pdir/$fname $host:$pdirelseecho $file does not exists!fidone
done 2、赋权
chmod 777 xsync 3、测试
xsync test