当前位置: 首页 > 编程笔记 >

Linux inotify实时备份实现方法详解

隆飞驰
2023-03-14
本文向大家介绍Linux inotify实时备份实现方法详解,包括了Linux inotify实时备份实现方法详解的使用技巧和注意事项,需要的朋友参考一下

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

模拟实时复制的部署准备

实时复制软件介绍

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

实时复制inotify机制介绍

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

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

优缺点

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

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

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

inotify+rsync项目实践

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

2.检查系统支持情况

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

3.测试inotify-tools软件

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

开两个窗口测试:

编写脚本:

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

4.测试sersync软件

上传软件包

解压

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

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

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

执行

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

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

 类似资料:
  • 本文向大家介绍MySQL数据库定时备份的实现方法,包括了MySQL数据库定时备份的实现方法的使用技巧和注意事项,需要的朋友参考一下 1. 创建shell脚本 2. 给shell脚本添加执行权限 3. 给脚本添加定时任务 crontab文件的说明:  用户创建的crontab文件中,每一行都代表一项定时任务,每行的每个字段代表一项设置,它的格式每行共分为六个字段,前五段是时间设定字段,第六段是要执行

  • 本文向大家介绍Python 实现文件的全备份和差异备份详解,包括了Python 实现文件的全备份和差异备份详解的使用技巧和注意事项,需要的朋友参考一下 Python实现文件的全备份和差异备份 之前有写利用md5方式来做差异备份,但是这种md5方式来写存在以下问题: md5sum获取有些软连接的MD5值存在问题 不支持对空目录进行备份,因为md5sum无法获取空目录的md5值 权限的修改md5sum

  • 本文向大家介绍Mongodb实现定时备份与恢复的方法教程,包括了Mongodb实现定时备份与恢复的方法教程的使用技巧和注意事项,需要的朋友参考一下 本文主要介绍了关于Mongodb实现定时备份与恢复的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: MongoDB 数据备份 在 MongoDB 中我们使用 mongodump 命令来备份 MongoDB 数据 语法如下: -h Mong

  • 本文向大家介绍php实时倒计时功能实现方法详解,包括了php实时倒计时功能实现方法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php实时倒计时功能实现方法。分享给大家供大家参考,具体如下: 这几天公司要做一个限时购物的功能.这就要做到倒计时,要有实时的倒计时. 要求: 1) 要有小时分钟秒的实时倒计时的显示 2)用户端修改日期时间不会影响到倒计时的正常显示(也就是以服务器时间为准)

  • 本文向大家介绍Android 三种实现定时器详解及实现方法,包括了Android 三种实现定时器详解及实现方法的使用技巧和注意事项,需要的朋友参考一下 方法一:Handler+Thread 方法二:Handler类自带的postDelyed 方法三:Handler+Timer+TimerTask 以上就是对Android 定时器的资料整理后续继续补充相关知识,谢谢大家对本站的支持!

  • 本文向大家介绍Python_LDA实现方法详解,包括了Python_LDA实现方法详解的使用技巧和注意事项,需要的朋友参考一下 LDA(Latent Dirichlet allocation)模型是一种常用而用途广泛地概率主题模型。其实现一般通过Variational inference和Gibbs Samping实现。作者在提出LDA模型时给出了其变分推理的C源码(后续贴出C++改编的类),这里