本文摘自PHP中文网,作者巴扎黑,侵删。
假设有如下需求:假设两个服务器:
192.168.0.1 源服务器 有目录 /opt/test/
192.168.0.2 目标服务器 有目录 /opt/bak/test/
实现的目的就是保持这两个服务器某个文件目录保持实时同步
实现方式: 通过rsync+inotify-tools结合来实现
准备工作:
首先要给两台机器添加信任关系,具体方法已经在前面的文章介绍过了
详情查看: linux添加信任关系免密码登录
需要安装软件:
1. rsync 同步软件
在 源服务器 和 目标服务器 都需要安装
源服务器: 是rsync客户端,不需要配置
目标服务器: 是rsync服务器端,需要配置/etc/rsyncd.conf里的内容
2. inotify-tools 工具
该工具为文件实时监控工具,需要linux操作系统内核支持,内核支持需要至少版本为2.6.13
检查操作系统是否支持,执行如下:
uname -r 查看版本
返回:
1 |
|
则表示版本2.6.32 大于2.6.13,则支持。
执行:
1 2 3 4 5 |
|
有三项输出,则表示默认支持inotify,可以安装inotify-tools工具.
如果不支持,需要采用新版本的linux操作系统
版本达到要求,就可以安装了。
安装inotify-tools后会在相关安装目录下生成如下两个文件:
1 2 3 4 |
|
则表示安装成功。
注意: 在 源服务器上需要安装,目标服务器上不需要安装inotify。
3. 相关脚本:
在源服务器上新建脚本:
inotify_bak.sh
相关阅读 >>
使用createnetworkinterface创建一个弹性网卡
更多相关阅读请进入《Linux》频道 >>