SUSE通过rsync+inotify实现文件同步

本文详细介绍了如何使用rsync和inotify-tools在Linux环境下搭建文件同步系统,包括环境搭建、脚本编写及常见问题解决,适用于主备文件存储系统的实时同步需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近现网出现了一个现网问题,有主备两个文件存储系统,其中主文件存储系统占用大小为15T,备用的文件存储系统占用大小为21T,导致备用文件存储系统告警

现网中采用的文件同步系统是rsync+inotify-tools实现的

问题的原因在与同步的脚本有问题,主文件存储系统导致文件被删除后没有同步到备用文件存储系统。本人决定在开发环境进行搭建改系统验证脚本的正确性。

科普一下:

rsync是Linux/unix下一个用于远程文件(目录)同步的一个精巧的小工具程序。

Inotify一种强大的、细粒度的、异步文件系统监控机制,它满足各种各样的文件监控需要,可以监控文件系统的访问属性、读写属性、权限属性、删除创建、移动等操作,也就是可以监控文件发生的一切变化。

以下是搭建环境过程进行总结:

一.服务器端

1.1.检查服务器是否已安装rsync

zypper se rsync

如果未安装,则进行安装

zypper in rsync

安装完rsync后,此时已经可以使用rsync进行同步文件

# /usr/bin/rsync -ahqzt --delete /opt/huawei/disk/liujie root@10.28.0.50:/opt/huawei/disk/liujie/online_recovery.log.20180807

但是此时需要输入密码,如果想要去除密码,可进行把

查看cd /root/.ssh/

添加SSH认证:
#ssh-keygen -t rsa

一阵回车后,会生成id_rsa  id_rsa.pub两个文件,id_rsa为私钥,id_rsa.pub为公钥


将公钥上传到备份的服务器上
#scp id_rsa.pub root@10.28.0.50:/root/.ssh/server_1

最后将密钥导入authorized_keys文件

#cat server_1 >> authorized_keys

此时,在进行文件同步,不需要密码

1.2.检查服务器是否已安装inotify-tools

which inotifywait

如果没有安装,出现如图所示

下载inotify-tools-3.14.tar.gz进行安装下载(要看系统版本,本人使用SUSE),上传到单板上,解压

# tar -xvzf inotify-tools-3.14.tar.gz

# cd inotify-tools-3.14/

#  ./configure && make && make install  ---安装软件

使用which inotifywait检查

当出现上述字样时,inotify-tools已安装完毕

1.3.编写同步脚本

vi online_inotify_rsync.sh

添加执行权限

# chmod +x online_inotify_rsync.sh

执行的过程中如果报缺少动态链接库。如下图所示

查找该动态链接库

/usr/local/lib为该源码包要用的库的路径,引入该环境变量的时候操作系统就会去找该变量下的类库。

# export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

启动脚本(脚本参见附件)

sh online_inotify_rsync.sh &

脚本启动成功后,客户端显示

 

服务器端显示

二。客户端

2.1.检查服务器是否已安装rync

参见1.1即可

三,现网问题解决

使用现在的脚本在开发环境进行测试发现

这段代码并没有起到删除备分存储系统的文件的作用

修改为

可实现备文件存储系统随着主文件存储系统的变化而变化,可实现文件的增加删除

但是原来备机上多余的文件将不能进行删除,需要进行一次全量同步即可

/usr/bin/rsync -ahqzt --delete /opt/huawei/disk/liujie root@10.28.0.50:/opt/huawei/disk/liujie

环境搞了大半天终于搞定啦

 

参考文献:

https://www.cnblogs.com/ginvip/p/6430986.html

https://blog.youkuaiyun.com/birdie_l/article/details/78189064

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值