使用Rsync结合Inotify实现双机文件热备

💡 原文中文,约4500字,阅读约需11分钟。
📝

内容提要

现代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文件,添加用户列表,并创建密码文件以设置用户和权限。

➡️

继续阅读