当前位置: 首页 > news >正文

centos服务器实时备份

 

目标

 

  1. /usr/local/src 目录在两台 CentOS 7 服务器之间双向实时同步
  2. 任何一台机器目录变化,都会自动同步到另一台
  3. 开机自动运行,断网重连后继续同步

过程

  1. 自动安装 unison + inotify-tools
  2. 自动配置免密 SSH
  3. 自动创建 unison 配置文件
  4. 自动创建实时监控脚本
  5. 自动注册 systemd 服务并启动

部署

deploy_sync.sh脚本,在两台服务器上分别运行(注意替换 REMOTE_IPREMOTE_SSH_PORTREMOTE_USER

#!/bin/bash
# 一键部署双向实时同步(CentOS 7)
# 目录: /usr/local/src# ========== 用户配置区 ==========
REMOTE_IP="192.168.1.2"      # 对方服务器IP
REMOTE_SSH_PORT="22"         # 对方服务器SSH端口
REMOTE_USER="root"           # 对方服务器用户名
SYNC_DIR="/usr/local/src"    # 要同步的目录
# ===============================# 安装依赖
echo "[1/6] 安装 unison 和 inotify-tools..."
yum install -y epel-release >/dev/null 2>&1
yum install -y unison inotify-tools >/dev/null 2>&1# 生成SSH密钥
echo "[2/6] 生成SSH密钥..."
ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa >/dev/null 2>&1# 免密登录对方服务器
echo "[3/6] 配置免密登录到 $REMOTE_USER@$REMOTE_IP..."
ssh-keyscan -p $REMOTE_SSH_PORT -H $REMOTE_IP >> ~/.ssh/known_hosts 2>/dev/null
sshpass -p "" ssh-copy-id -p $REMOTE_SSH_PORT $REMOTE_USER@$REMOTE_IP >/dev/null 2>&1# 创建unison配置文件
echo "[4/6] 创建unison配置文件..."
mkdir -p ~/.unison
cat > ~/.unison/default.prf <<EOF
root = $SYNC_DIR
root = ssh://$REMOTE_USER@$REMOTE_IP:$REMOTE_SSH_PORT/$SYNC_DIRignore = Name *.swp
ignore = Name *.tmp
ignore = Name *~recurse = true
auto = true
batch = true
prefer = newer
EOF# 创建实时同步脚本
echo "[5/6] 创建实时同步脚本..."
cat > /usr/local/bin/unison-realtime.sh <<'EOF'
#!/bin/bash
while inotifywait -r -e modify,create,delete,move /usr/local/src >/dev/null 2>&1; dounison >/dev/null 2>&1
done
EOF
chmod +x /usr/local/bin/unison-realtime.sh# 创建systemd服务
echo "[6/6] 注册systemd服务并启动..."
cat > /etc/systemd/system/unison-realtime.service <<'EOF'
[Unit]
Description=Unison Realtime Sync
After=network.target[Service]
ExecStart=/usr/local/bin/unison-realtime.sh
Restart=always
User=root[Install]
WantedBy=multi-user.target
EOFsystemctl daemon-reload
systemctl enable unison-realtime >/dev/null 2>&1
systemctl restart unison-realtimeecho "部署完成!现在 /usr/local/src 目录将在两台服务器间双向实时同步。"
echo "查看状态: systemctl status unison-realtime"
echo "查看日志: journalctl -u unison-realtime -f"

脚本做了什么?

安装 unison 和 inotify-tools
生成 SSH 密钥并免密登录到对方服务器
创建 unison 双向同步配置
创建实时监控脚本(inotifywait 检测文件变化 → 调用 unison 同步)
注册 systemd 服务,开机自启并立即运行

注意事项

两台服务器都要运行这个脚本
第一次运行会全量同步 /usr/local/src 目录
unison 默认会以修改时间新的文件为准解决冲突
如果要同步大文件,建议在低峰期首次运行

  

http://www.gsyq.cn/news/17725.html

相关文章:

  • Python安装与环境配置
  • 编程开发工具集合汇总
  • 各编程语言对应的开发工具软件
  • Vue Day7 VueX ESLint介绍
  • Vue的nextTick函数作用
  • # JetBrains 2024开发者生态调查报告推荐
  • # ️ GitHub工程师肖恩戈德克的系统设计哲学:从复杂到简单的工程智慧
  • python查询数据信息,分析前了解表格结构
  • 【SETUP】To debug the Neoverse N2 reference firmware
  • 减少磁盘延迟的方法
  • aardio获取exe路径
  • 牛客周赛 Round 112
  • 2025 最新超声波清洗机厂家推荐排行榜:工业 / 精密 / 实验室等多场景适配厂商权威榜单全自动/大型/工业/单槽/多槽超声波清洗机厂家推荐
  • 2025 年金属线槽厂家最新推荐排行榜:覆盖不锈钢 / 铝合金 / 防火 / 大跨距 / 喷塑类型,帮您选优质厂家企业
  • 2025电子行业隧道式烘干炉/PCB板固化炉设备厂家推荐品牌/汽车行业隧道式烤炉选择哪家/汽车喷涂固化炉设备厂家对比
  • 基于蚁群算法的PID参数整定方法及MATLAB实现
  • 2025 年电缆桥架厂家最新推荐排行榜:精选不锈钢 / 铝合金 / 热镀锌等多类型优质桥架厂家,助力精准选购热镀锌/热浸锌/托盘式/防火/喷塑电/防火喷塑电缆桥架厂家推荐
  • 实用指南:python解析通达信dat与blk数据文件【附源码】
  • nohup java按天输出日志
  • 【SPIE出版|往届已EI检索】第四届交通运输工程前沿国际学术会议(FTTE 2025)
  • 2025 年北京精品旅游旅行社联系方式推荐:北京汇通清源定制旅行与一站式服务解决方案解析
  • 从设备监控到全局调控,MyEMS 如何构建 “全链路” 能源管理体系?
  • 题解:AT_mujin_pc_2017_d Oriented Tree
  • Redis缓存穿透优化
  • 工作电压2.4V-5.5V*低功耗单路触摸/单键触控感应芯片VKD233HR DFN6L
  • 2025.10.9——1橙
  • 深入解析:【双光相机配准】可见光相机内参标定流程
  • 2025 滚珠丝杠厂家最新推荐榜:重负载 / 精密 / 研磨型产品优选清单及国产新锐品牌口碑解析
  • 昇腾个人学习笔记
  • ant-design-vue 4.x版本在谷歌浏览器80版本中样式不显示的问题