linux文件怎样实时备份,Linux inotify实时备份实现方法详解

实时复制是企业数据备份最重要的方式,主要用于用户提交的数据的备份,对于用户提交到服务器上的普通文件(图片、压缩包、视频、文档等),可采用 inotify/sersync+rsync实时备份方式;对于数据文件还有较复杂的分布式存储工具自身可以实现将数据同时备份成多份,例如: FastDFS、 GlusterFS等;对于提交到数据库中的数据,可使用数据库的主从复制(例如: MySQL、 Oracle)方式备份,这是软件自带的实时复制备份方式。有的企业会采用更多思路实现数据同时变为多份,例如:程序业务逻辑在数据提交时,同时提交到两个服务器。

模拟实时复制的部署准备

cbe014c9399a6b164c7c826093275250.png

实时复制软件介绍

常用软件:inotify-tools、sersync(推荐)

e8257c17ac9e036c44a4b4fb44223d71.png

实时复制inotify机制介绍

linux内核从2.6.13起加入了Inotify支持,它是一种异步的系统事件监控机制,通过inotify可以监控文件系统中添加、删除、修改、移动等各种事件,利用这个内核接口,第三方软件(如inotify-tools、sersync)可以监控文件系统下各文件的变化情况,进而做出实时响应。

注:sersync软件是在inotify基础上进行开发的,功能更加强大,支持配置文件配置,定时重试复制,过滤机制,提供接口做CDN数据更新,支持多线程操作。

优缺点

inotify优点:监控文件系统事件变化,通过复制工具实现实时数据复制。支持多线程实时复制。

inotify缺点:实测并发如果大于200个文件(10-100k),复制会有延迟。

解决思路:前台争取时间,如我们注册账号或上传数据点击提交后,页面显示几秒后返回原页面。

inotify+rsync项目实践

1.确保rsync服务可用,可在nfs01服务器上推拉数据到backup服务器上。

872ac93ea99c731634f39da935406da1.png

2.检查系统支持情况

①内核版本必须大于2.6.13 ②必须有以下三个文件

273c5cb4141a2af56628abf1b30d99b4.png

93aa0850422191cc5da47f2ffc3bd36c.png

3.测试inotify-tools软件

[root@nfs01 ~]# yum install inotify-tools -y

c6b40b52ea1893b925a186ef741081b2.png

开两个窗口测试:

c7ec83a52c7f0b9da02530b892420e39.png

编写脚本:

4a3cf329f3bc38333ffdb9edbdb3aa15.png

dacdf48f9a3ea5f063488fc80510e10a.png

注:打开另一nfs01窗口,创建、修改、删除文件,并在backup服务器中查看是否实时同步。

4.测试sersync软件

2b9a4fe24f2704f1950fb01d814f8d4c.png

上传软件包

522c41e791cbfbed4ec24892f72228c9.png

解压

tar -xf sersync2.5.4_64bit_binary_stable_final.tar.gz -C /application/sersync/

7b93e7a86fa729677d51a2bfa2a5d0d7.png

sersync的配置文件是一个xml文件,先备份一下 cp confxml.xml{,.ori}

修改配置文件(输入 :set nu 可显示行号):

8ee70aa79a14b31277a28f92f83bf27d.png

执行

b5a56462a91bf794b95662f7f0df196f.png

因为sersync不是yum安装的,无法使用systemctl命令开启、关闭、自启

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值