异常环境:
备份存储服务器开启rsync daemon模式,备份接口配置如下
[xxyumFullBack]
#存放yum全量备份数据
path = /data1/xxyumFullBack/
comment = xxyumFullBack
read only = no
use chroot = no
hosts allow = 192.168.1.2
检查备份的时候突然发现所有的链接均为异常状态,这里看到莫名其妙的在链接的目录前加了rsyncd-munged命名,正常我们希望备份的文件应该和原服务器的文件一致
异常截图:
image.png
源服务器截图:
image.png
修复过程:
1.起初怀疑是同步的时候没有加-l的参数导致的,加上执行同步后任然异常
-l 是链接文件,意思是拷贝链接文件
2.怀疑rsync的校验机制,同步时加了-c参数,同步了2个多小时,无果
-c, --checksum 打开校验开关,强制对文件传输进行校验
3.查询文档,发现可能和chroot相关,修改chroot为yes后执行同步,发现数据刷新了,与源服务器一致了
chroot相关的介绍可以在这篇文档中阅读一下http://blog.sina.com.cn/s/blog_be5128c30101ocqx.html
大概是说,当chroot为false的时候,rsync为了防止软连接被恶意使用,会在所有软连接同步后的链接路径中加上rsyncd-munged路径,这样链接的路径被修改了,也就无法被恶意使用了,当你设置为chroot为yes的时候会将rsync服务会被限制在同步路径文件夹中无法使用软连接获取到同步文件夹之外的文件。
批量删除当前目录中的软连接
ll |grep '^l'|rm -f `awk '{print $9}'`
网友评论