# Rsync本机目录实时备份同步一键脚本 **Repository Path**: cncsrf/rsync-realtime-dir-sync ## Basic Information - **Project Name**: Rsync本机目录实时备份同步一键脚本 - **Description**: 用于实现 Linux 本地目录之间实时同步功能的脚本,兼容多系统。 - **Primary Language**: Shell - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-29 - **Last Updated**: 2025-04-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Rsync本机目录实时同步备份(一键脚本[多系统版]) 详细见:[https://blog.hx99.net/Tech/2803.html](http://) ## 项目简介 本项目提供两个 Bash 脚本,用于在 Linux 环境中实现高效可靠的目录实时同步方案: 1. `rsync-realtime-dir-sync.sh` - 目录同步服务部署脚本 2. `uninstall-rsync-realtime-dir-sync.sh` - 同步服务完整卸载脚本 ## 核心功能 ### 安装脚本特性 - 自动检测系统环境(支持 Debian 12/Ubuntu 22.04/CentOS 7) - 自动安装必备组件(rsync + inotify-tools) - 交互式配置向导(支持路径自动补全) - 精确的目录同步控制(避免父目录嵌套) - 可调节的同步延迟机制(默认5秒) - 系统服务集成(systemd 单元配置) - 详尽的日志记录系统(/var/log 日志文件) ### 卸载脚本特性 - 安全确认机制(防止误操作) - 完整的服务清理流程 - 保留策略(日志文件保留) - 非破坏性卸载(用户数据不受影响) ## 工作原理 1. **文件监控**: - 使用 `inotifywait` 监控源目录的文件变化 - 支持监控事件:创建/修改/删除/移动 2. **延迟处理**: - 检测到变化后,等待配置的延迟时间(默认5秒) - 避免短时间内大量变更导致的频繁同步 3. **增量同步**: - 使用 `rsync` 进行增量同步 - 只传输变化的文件部分 4. **日志记录**: - 所有操作记录到 `/var/log/rsync-realtime-dir-sync.log` - 包含时间戳和操作结果 ## 版本兼容性 | 系统版本 | 测试状态 | 备注 | |---------------|----------|--------------------------| | CentOS 7 | ✅ 已验证 | 需 EPEL 仓库 | | Ubuntu 22.04 | ✅ 已验证 | 原生支持 | | Debian 12 | ✅ 已验证 | 需启用非自由软件仓库 | ## 使用说明 1. **安装过程**: ``` chmod +x rsync-realtime-dir-sync.sh ./rsync-realtime-dir-sync.sh ``` 2. **服务管理**: ``` # 启动服务 sudo systemctl start rsync-realtime-dir-sync # 停止服务 sudo systemctl stop rsync-realtime-dir-sync # 查看状态 sudo systemctl status rsync-realtime-dir-sync # 查看系统日志 sudo journalctl -u rsync-realtime-dir-sync -f # 实时查看同步日志 sudo tail -f /var/log/rsync-realtime-dir-sync.log ```