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

 更新时间:2020年07月11日 10:12:34   作者:盗哥泡茶去了  
这篇文章主要介绍了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命令开启、关闭、自启

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

相关文章

  • 使用光盘配置本地yum源的方法 yum源配置

    使用光盘配置本地yum源的方法 yum源配置

    这篇文章主要介绍了linux使用光盘配置本地yum源的方法
    2014-01-01
  • linux中echo命令的用法实例教程

    linux中echo命令的用法实例教程

    linux的echo命令, 在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的, 因此有必要了解下echo的用法,下面这篇文章主要给大家介绍了关于linux中echo命令用法的相关资料,需要的朋友可以参考学习。
    2017-05-05
  • Linux字符终端如何用鼠标移动一个红色矩形详解

    Linux字符终端如何用鼠标移动一个红色矩形详解

    这篇文章主要给大家介绍了关于Linux字符终端如何用鼠标移动一个红色矩形的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Linux具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • 深入理解Linux修改hostname(推荐)

    深入理解Linux修改hostname(推荐)

    这篇文章主要介绍了深入理解Linux修改hostname(推荐),具有一定的参考价值,有兴趣的可以了解一下。
    2016-12-12
  • Linux中的curl命令详解

    Linux中的curl命令详解

    大家应该都知道在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。本文将详细介绍Linux中的curl命令,下面来一起看看吧。
    2016-11-11
  • linux中chmod命令用法详解

    linux中chmod命令用法详解

    在本篇文章里小编给大家分享了关于linux中chmod命令用法和相关知识点,需要的朋友们跟着学习下。
    2019-04-04
  • Linux系统使用用户密钥ssh主机访问

    Linux系统使用用户密钥ssh主机访问

    这篇文章主要介绍了Linux系统使用用户密钥ssh主机访问,它在安全上完全大于直接输入root 的密码,有需要的可以了解一下。
    2016-10-10
  • linux下查看本机和远程服务器的端口是否连通的方法

    linux下查看本机和远程服务器的端口是否连通的方法

    今天小编就为大家分享一篇linux下查看本机和远程服务器的端口是否连通的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • 如何实现为Ubuntu扩容(添加新的硬盘空间)

    如何实现为Ubuntu扩容(添加新的硬盘空间)

    这篇文章主要介绍了如何实现为Ubuntu扩容(添加新的硬盘空间)问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • Linux下rsync远程数据同步命令的详细介绍

    Linux下rsync远程数据同步命令的详细介绍

    rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具。rsync软件适用于unix/linux/windows等多种操作系统平台。下面这篇文章主要介绍了Linux下rsync命令的相关资料,需要的朋友可以参考借鉴。
    2017-02-02

最新评论