使用Rsync结合Inotify实现双机文件热备
内容提要
现代Web应用常将用户缓存存储到本地磁盘,同步数据库时需同步文件缓存。Linux下常用的同步工具是Rsync,搭配Inotify可实时备份文件。配置包括初始化Slave服务器和同步配置,安装rsync和inotify-tools,创建自动同步脚本并使用Supervisor后台运行。测试同步能否正常运行,添加10w个小文件进行测试。
延伸解读
为何选择 Rsync 与 Inotify 组合
文章指出,现代 Web 应用常将用户缓存文件存于本地磁盘,同步数据库时需一并同步文件。Rsync 是类 Unix 下的数据镜像备份工具,支持增量备份;Inotify 是 Linux 文件系统监控特性,能实时响应文件操作。两者结合可实现实时热备,且 Inotify 比 cron 轮询更高效。
双机配置的关键步骤
配置分为 Master 和 Slave 服务器。Slave 需初始化系统、禁止 ROOT 登录、更新源、格式化并挂载硬盘,然后安装 rsync 并编辑 /etc/rsyncd.conf,设置用户、权限和密码文件。Master 需安装 rsync、inotify-tools 和 supervisord,创建密码文件,并测试同步。注意端口一致和防火墙放行。
自动同步与后台运行
测试同步正常后,创建自动同步脚本,使用 inotifywait 监控指定目录的 close_write、delete、create、attrib 事件,触发 rsync 同步并记录日志。通过 Supervisor 配置后台运行,确保脚本持续工作。文章还提到添加 10 万个小文件进行压力测试,验证同步能力和日志输出。
Q&A
如何使用Rsync和Inotify实现文件的实时备份?
通过在Linux上安装Rsync和Inotify工具,配置Master和Slave服务器,并创建自动同步脚本,可以实现文件的实时备份。
Slave服务器的初始化步骤有哪些?
Slave服务器初始化包括安装操作系统、禁止ROOT登录、更新源、格式化硬盘并挂载。
Rsync的主要功能是什么?
Rsync是一个快速增量备份工具,支持本地复制和远程同步,常用于数据镜像备份。
如何测试Rsync和Inotify的同步功能?
可以通过添加10万个小文件进行测试,并查看同步和日志输出是否正常。
Master服务器需要安装哪些工具?
Master服务器需要安装Rsync、Inotify-tools和Supervisor。
如何配置Rsync的用户和权限?
在Slave服务器上编辑rsyncd.conf文件,添加用户列表,并创建密码文件以设置用户和权限。