rsync+inotify实时同步参考步骤

利用rsync和inotify机制可以实现触发式的数据备份,也就是实时备份。本地的某个文件一旦发生变化,就会自动同步到远程的备份源服务器上。而不是某个时间段执行备份。

推荐阅读:

利用inotifywait监控主机文件和目录

利用inotify+rsync实现Linux文件批量更新

inotify-tools+rsync实时同步文件安装和配置

rsync同步完整配置

实验前要解决三点问题:
① 谁是备份源,谁是发起端。(发送链接请求的是发起端,回应请求的是备份源)
② 怎么察觉本地的文件发生了变化。(交给inotify机制,Linux内核从2.6.13版本开始提供了inotify通知接口,用来监控文件系统的各种变化情况,如文件存取、删除、移动等。利用这一机制,可以非常方便地实现文件异动告警、增量备份,并针对目录或文件的变化及时作出响应。)
③ 怎么根据目录或文件的变化实现发送“备份的请求”从而实现远程备份的目的。
这里就要编写脚本来实现这个功能。
另外,还要解决从监控文件到远程备份整个过程中交互式的操作,这里用户的交互式认证就要改为秘钥的验证方式。
先来看一下我的实验环境 两台红帽6 
发起端: 192.168.2.1
备份源: 192.168.2.2
下面是各个主机的操作
发起端:192.168.2.1
1.要监控目录或文件的状态,要利用inotify-tools工具 解压安装

rsync+inotify实时同步参考步骤

make &&  make install 执行编译安装
2.创建要监测的目录,也就是要执行备份的目录 mkdir /abc 随便创建的 并要有其他用户的读取权限

3.创建要链接时的ssh 秘钥 并用备份源(也就是2192.168.2.2)上的用户拷贝过去
-t 是指定秘钥的加密类型,执行过程中直接回车,不要设置任何信息(相当于密保的一个更安全的密码)
生成的秘钥在用户宿主目录下的 .ssh/下

创建过程

rsync+inotify实时同步参考步骤

然后用ssh-copy-id 命令把秘钥复制到备份源上 robin用户是备份源主机上事先有的

rsync+inotify实时同步参考步骤

测试用ssh登陆远程主机是否还用交互式方式验证

rsync+inotify实时同步参考步骤

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/63ccc529be5d144dce96dc8835573d00.html