Bootstrap

如何实现实时同步备份数据?

分析:
1.备份服务器(rsync),nfs存储服务器
2.监控实时变化的数据信息(inotify)
3.将变化的数据进行备份(nfs+inotify+rsync)

 前面已经将备份服务器和nfs配置完成,这里讲一下配置inotify的流程。

先下载epel源,然后下载inotify
yum install epel-release -y
yum install inotify-tools
rpm -ql inotify-tools
PS:这里显示的前两行如下图所示
在这里插入图片描述
inotifywait 用来监控目录或文件的变化
inotifywatch 监控变化的目录或 文件

具体的语法:inotifywait [参数] [-e] 监控的文件或目录
这里比较常用的格式
inotifywait -mrq /data/ --format ‘%w%f’ -e create,delete,move,close
(-m指保持监控,-r递归,-q(quiet)只输出事件信息,–format 以…样的格式,%w目录,%f文件。-e接几种事件类型,create创建,delete删除,move(包含move_to将文件或目录从监控拉去过来,move_from将文件或目录推送到监控),close(包含close_write在文件或目录关闭之后写入的状态,close_nowrite在文件或目录关闭之后,未写的状态)

三种服务都配置好之后,如何实现三者之间的结合呢,从而实现实时同步备份数据。
逻辑关系:web客户端到--------nfs存储服务器到------rsync备份服务器
在这里插入图片描述
在web端的/mnt目录下创建,删除文件或目录等操作,然后共享到nfs服务器的/data下,然后在nfs服务器上实现实时监控并将/data下的文件或目录备份到rsync的/backup的目录下。
这里如何在nfs服务器上将监控数据和备份结合呢,需要用到shell脚本编辑,同时涉及到while循环,和read读取变量。
shell脚本编辑如下:在这里插入图片描述
最后在 nfs服务器上运行脚本即可 。
sh test,sh

;