本项目提供两种自动化数据同步方案:定时备份与实时同步,专为CentOS 7环境优化设计。支持服务端/客户端一键配置,满足不同场景的数据同步需求。
📦 脚本清单
脚本文件 | 功能 | 适用场景 | 最新版本 |
---|---|---|---|
rsync-remote-timed-backup.sh |
定时增量备份 | 定期数据归档/灾备 | v2.2 (2025-04-27) |
rsync-remote-realtime-backup.sh |
实时文件同步 | 需要即时数据同步的环境 | v2.3 (2025-04-28) |
uninstall-rsync-remote-backup.sh |
一键卸载所有组件 | 清理环境 | 最新版 |
🌟 核心特性
共同特性
- ✅ 全自动配置服务端/客户端
- 🔐 安全的密码认证机制
- 📝 详细的日志记录 (
/var/log/rsync_*.log
) - 🛡️ 完善的错误检测与处理
- ⚙️ systemd 服务集成
定时备份特有 (rsync-remote-timed-backup.sh
)
- ⏰ 灵活的定时任务配置
- 支持每日固定时间备份
- 支持自定义cron表达式
- 🔄 增量备份节省带宽
- 📦 首次运行自动验证
实时同步特有 (rsync-remote-realtime-backup.sh
)
- 🔄 基于inotify的实时监控
- 🚀 文件变更即时触发同步
- 🔄 智能重试机制(最多10次)
- 📊 实时同步状态监控
🚀 快速开始
前置要求
- CentOS 7 系统
- root 权限
- 网络连通性(开放873端口)
配置
# 关闭防火墙或开放端口(临时)
systemctl stop firewalld
# 或
firewall-cmd --add-port=873/tcp --permanent
firewall-cmd --reload
## 安装
# 定时备份安装
./rsync-remote-timed-backup.sh # 选择模式(1-服务端,2-客户端)
# 实时同步安装
./rsync-remote-realtime-backup.sh # 选择模式(1-服务端,2-客户端)
📚 使用指南
定时备份典型配置
# 服务端配置示例:
备份目录:/opt/data_bak
密码:Backup@2023(建议修改)
# 客户端配置示例:
本地目录:/var/www
服务端IP:192.168.1.100
备份频率:每天凌晨2点
实时同步典型配置
# 服务端配置示例:
备份目录:/opt/realtime_data
密码:Realtime@2023(建议修改)
# 客户端配置示例:
监控目录:/data/db
服务端IP:192.168.1.100
服务管理命令
# 定时备份服务
systemctl status rsyncd
# 实时同步服务
systemctl status inotify_rsync
journalctl -u inotify_rsync -f # 查看实时日志
# 查看同步日志
tail -f /var/log/rsync_backup.log # 定时备份
tail -f /var/log/inotify_rsync.log # 实时同步
🧹 卸载清理
./uninstall-rsync-remote-backup.sh
可选卸载模式:
- 仅服务端
- 仅客户端
- 全部卸载
注意:卸载脚本不会删除备份目录中的数据
🛡️ 安全建议
- 修改默认密码(
Backup@2023
) - 限制服务端IP访问:
- 定期检查日志文件
iptables -A INPUT -p tcp --dport 873 -s 客户端IP -j ACCEPT
iptables -A INPUT -p tcp --dport 873 -j DROP
❓ 常见问题
Q1: 同步失败怎么办?
- 检查服务端rsyncd服务状态:
systemctl status rsyncd
- 验证网络连通性:
telnet 服务端IP 873
- 检查密码文件权限:
/etc/rsyncd.secrets
应为600 - 查看详细错误日志:
/var/log/rsyncd.log
Q2: 如何修改监控目录?
- 停止服务:
systemctl stop inotify_rsync
- 编辑脚本:
/opt/inotify_rsync.sh
- 修改
SRC_DIR
变量 - 重启服务:
systemctl restart inotify_rsync
Q3: 如何调整同步频率?
- 定时备份:
crontab -e
修改对应条目 - 实时同步:无需调整,默认为即时同步
💾 脚本下载
https://gitee.com/cncsrf/rsync-remote-backup
📅 rsync 服务端安装截图
实时同步脚本(服务端)安装截图:


实时同步脚本(客户端端)安装截图:

定时同步脚本(客户端)安装截图:
