实时同步原理
实现实时同步备份数据的过程(从原理方面)
1)部署rsync服务
2)部署inotify监控服务
3)让rsync服务与inotify服务结合(利用脚本结合)。
部署rsync服务
部署rsync服务端
1 | #检查rsync软件是否安装并安装 |
部署rsync客户端
1 | #检查rsync客户端是否安装 |
部署inotify服务
1 | 软件名称:inotify-tools |
1 | PS: yum源仓库搭建:http://blog.oldboyedu.com/autodeploy-yum/ |
1 | 安装阿里云普通源与epel源 |
参数
1 | -e |--event 指定监听1个或多个事件,比如:create,delete。如果省略表示所有事件都监听 |
事件
1 | close_write 文件或目录关闭,在写入模式打开后关闭的 |
1 | # 开启inotifywait监控 |
inotify命令格式
常见时间参数信息
1 | %F 以yy-mm-dd方式显示时间 |
事件测试
1 | 测试create事件 |
事件汇总
rsync与inotify脚本结合
1 | vim monitor.sh |
–delete 是无差异同步,即同步之前如果两边不一致先清空源数据。
kill扩展
1 | 1. kill/killall/pkill只能杀掉正在后台运行的进程,而后台暂停(ctrl+z)的进程无法杀死 |
将脚本放入后台运行的方式
1 | 1. 在脚本后面放入&符号,表示脚本在后台运行(centos5使用&有bug) |
- 本文作者: GaryWu
- 本文链接: https://garywu520.github.io/2017/08/26/inotify+rsync实时同步/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!