Centos7 rsync远程(定时+实时)同步备份(一键脚本)

  本项目提供两种自动化数据同步方案:定时备份与实时同步,专为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

可选卸载模式:

  1. 仅服务端
  2. 仅客户端
  3. 全部卸载

注意:卸载脚本不会删除备份目录中的数据

🛡️ 安全建议

  1. 修改默认密码(Backup@2023
  2. 限制服务端IP访问:
  3. 定期检查日志文件
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: 如何修改监控目录?

  1. 停止服务:systemctl stop inotify_rsync
  2. 编辑脚本:/opt/inotify_rsync.sh
  3. 修改SRC_DIR变量
  4. 重启服务:systemctl restart inotify_rsync

Q3: 如何调整同步频率?

  • 定时备份:crontab -e 修改对应条目
  • 实时同步:无需调整,默认为即时同步

💾 脚本下载

https://gitee.com/cncsrf/rsync-remote-backup

📅 rsync 服务端安装截图

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