rsync+inotify 实现文件双向同步

前言

客户要求做了负载均衡,用nginx做完负载均衡后发现文件没有同步,需要做一下文件同步。

本来考虑通过挂载实现,但是这样的话多台服务器负载均衡意义就比较小了,如果主服务器挂掉了,其它的服务器照样不能用。我们存的文件是word和excel,也考虑过使用elasticsearch进行存储,这样不需要考虑服务器的问题,es是单独另外维护的。还考虑过双向挂载,但是这样都需要改代码,我们负责这一块的java开发不太熟悉es相关的包。于是就用了rsync+inotify的方式进行文件双向同步

参考文章

https://www.cnblogs.com/murry/p/11942297.html

https://mp.weixin.qq.com/s/EWxLBHxK-Y9XjhnNDrjtag

原理

脚本原理很简单,使用 inotify 来监视路径下的文件读写操作,当创建、更新、删除等操作进行后,会触发inotify的检测,然后调用rsync命令进行远程文件同步。

注意事项

安装步骤主要是看参考文章里的两篇连接做的。等有时间我再整理一下写一下各个关键参数的含义。这里提一下一些参考文献没有讲过的注意事项。

不可以进行多线程的同步删除操作!

我们的业务刚好不需要进行删除操作,因此无所谓,可以使用这个方法。如果有需要多线程删除操作的人

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值