Linux下文件实时自动同步备份下文件实时自动同步备份
本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 chaodev 即可关注。
文章目录文章目录前言文章重点一、rsync+inotify 简介1、rsync简介2、inotify简介二、整体架构三、同步节点部署(rsync)1、安装rsync2、配置rsync四、源服务器节点部署
(rsync+inotify)1、安装rsync2、配置rsync3、手动同步测试4、部署inotify(1)下载安装(2)创建rsync同步的shell脚本五、实时同步备份验证六、遇到的问题及解决方法
前言前言
我们都知道一旦 Linux 系统被入侵了,或者 Linux 系统由于硬件关系而死机,如何快速恢复系统呢?当然,如果有备份数据的话,那么恢复系统所花费的时间与成本将会很少。平时
最好就养成备份的习惯,可以避免发生突发事件时束手无策。
本篇文章将对 Linux 主机之间文件实时自动同步备份文件实时自动同步备份进行讲解,使用 rsync+inotify 组合的方式来实现,避免由于硬件或者软件导致的 Linux 系统死机或损坏造成的损失。
文章重点文章重点
1、rsync+inotify 简介
2、整体架构
3、同步节点部署(rsync)
4、源服务器节点部署(rsync+inotify)
5、实时同步备份验证
6、遇到的问题及解决方法
一、一、rsync+inotify 简介简介
1、、rsync简介简介
rsync(remote synchronize)是 Liunx/Unix 下的一个远程数据同步工具,它可通过 LAN/WAN 快速同步多台主机间的文件和目录。
Linux 之间同步文件一般有两种方式,分别是 rsync 与 scp 。scp 相当于复制,粘贴,文件不存在则新建,若存在则覆盖,而 rsync 则是比较两边文件是否相同,不相同才进行更
新。所以 rsync 和 scp 在文件夹存在的情况下差异很大,因为 scp 是复制和覆盖,从执行性能来说 rsync 更胜一筹。而且 rsync 能将文件夹、文件的权限等信息也保存下来。
但是 rsync 也有一定的缺点,在同步数据时,需要扫描所有文件后进行比对,如果文件数量相当大时,扫描文件就非常耗费时间和性能。其次,rsync 不能够实时监测、同步数据,
这就可能导致一些时间段数据不一致。解决这个问题的方法就是实时同步,所以需要使用 rsync+inotify 组合。
2、、inotify简介简介
inotify 是一种强大的、细粒度的、异步的文件系统事件监控机制,Linux 内核从2.6.13版本起,加入了对 inotify 的支持。通过 inotify 可以监控文件系统中添加、删除、修改、移动等各
种事件,利用这个内核接口,inotify-tools 便可以监控文件系统下文件的各种变化情况了。
首先检查系统内核是否支持 inotify
uname -r
ll /proc/sys/fs/inotify
出现以下三个文件表示系统默认支持 inotify,如下所示。
[root@localhost ~]# uname -r #查询系统内核版本
3.10.0-327.el7.x86_64
[root@localhost ~]# ll /proc/sys/fs/inotify
total 0
-rw-r--r-- 1 root root 0 Mar 11 09:34 max_queued_events
-rw-r--r-- 1 root root 0 Mar 11 09:34 max_user_instances
-rw-r--r-- 1 root root 0 Mar 11 09:34 max_user_watches
二、整体架构二、整体架构
这里我使用两个 Linux 服务器节点来做演示,实现两个节点间文件的实时同步,node1 为源服务器节点,就是需要同步数据的节点,部署 rsync+inotify ,node2 为同步节点,也就是
接收同步数据的节点,只需要部署 rsync,如下所示。
主机主机 节点名节点名 系统系统 ip 角色角色 软件软件
node1 源服务器节点 CentOS7 64位 192.168.157.129 Server rsync,inotify
node2 同步节点 CentOS7 64位 192.168.157.130 Client rsync
node1 中的 inotify 用于监控文件或文件夹的各种变化情况,一旦变动则利用 rsync 来进行文件的同步,具体架构图如下所示。
三、同步节点部署(三、同步节点部署(rsync))
同步节点,也就是node2 192.168.157.130,只需要安装配置 rsync 即可,具体步骤如下。
1、安装、安装rsync
(1)直接使用yum命令安装
yum -y install rsync
评论0