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

lsyncd + rsync 双向实时同步部署(centos stream 9)

环境说明
源服务器A:**192.168.1.149**(CentOS Stream 9)
目标服务器B:**192.168.1.148**(CentOS Stream 9)
同步目录:**/data/web/**
效果:**双向实时同步**(一边改,另一边自动同步)

一、两台机器都执行:基础准备
1. 安装 EPEL(lsyncd 必须)

dnf install -y epel-release dnf makecache

2. 安装 rsync + lsyncd

dnf install -y rsync lsyncd

3. 创建同步目录

mkdir -p /data/web

4. 关闭防火墙(企业内网推荐)

systemctl stop firewalld systemctl disable firewalld

5. 关闭 SELinux(避免权限拦截)

setenforce 0 sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

6. 创建 lsyncd 日志目录

mkdir -p /var/log/lsyncd

二、两台机器互相配置免密 SSH(必须)

在 149 执行:

ssh-keygen -t ed25519 -N "" -f /root/.ssh/id_ed25519 ssh-copy-id root@192.168.1.148

在 148 执行:

ssh-keygen -t ed25519 -N "" -f /root/.ssh/id_ed25519 ssh-copy-id root@192.168.1.149

双向验证(两台都试一下)

ssh root@192.168.1.148 date ssh root@192.168.1.149 date

不输入密码直接登录,即为成功。

三、配置 lsyncd(两台机器配置不同)

机器 A:192.168.1.149
编辑:

vim /etc/lsyncd.conf

写入完整配置(直接复制,无任何坑):

settings { logfile = "/var/log/lsyncd/lsyncd.log", statusFile = "/var/log/lsyncd/lsyncd.status", pidfile = "/var/run/lsyncd.pid", nodaemon = false, maxProcesses = 5 } sync { default.rsync, source = "/data/web/", target = "192.168.1.148:/data/web/", delay = 1, rsync = { archive = true, compress = true, verbose = true } }

机器 B:192.168.1.148
编辑:

vim /etc/lsyncd.conf

写入:

settings { logfile = "/var/log/lsyncd/lsyncd.log", statusFile = "/var/log/lsyncd/lsyncd.status", pidfile = "/var/run/lsyncd.pid", nodaemon = false, maxProcesses = 5 } sync { default.rsync, source = "/data/web/", target = "192.168.1.149:/data/web/", delay = 1, rsync = { archive = true, compress = true, verbose = true } }

四、两台机器都启动 lsyncd

systemctl enable --now lsyncd systemctl restart lsyncd systemctl status lsyncd

出现 **active (running)** 即为成功。

五、测试双向实时同步

在 149 上创建文件

touch /data/web/test_from_149.txt echo "test" > /data/web/test_from_149.txt

去 148 查看

ls /data/web/ cat /data/web/test_from_149.txt

在 148 上创建文件

touch /data/web/test_from_148.txt

去 149 查看

ls /data/web/

两边都能实时出现,**双向同步成功**。

六、如需开启"删除同步"(源删目标也删)

将配置中的

delete = false

改为

delete = true

然后重启:

systemctl restart lsyncd


七、查看日志(排错用)

tail -f /var/log/lsyncd/lsyncd.log


http://www.cnnetsun.cn/news/3782118.html

相关文章:

  • 5分钟上手XUnity Auto Translator:游戏实时翻译与本地化实战指南
  • SQLMap工具详解:从安装到实战的SQL注入测试指南
  • 树莓派3B固件包安装与维护全攻略:从定位到回滚
  • C语言结构体数组赋值:安全处理字符串的三种方法与实践
  • AI降痕工具对比:千笔与锐智的技术解析与应用
  • 终极指南:OpenCore Legacy Patcher如何让十年老Mac运行最新macOS
  • 【4. 搭建基础设施】:创建目录结构、数据库初始化脚本、配置管理模块、.gitignore,安装测试框架 gtest,实现日志封装、数据库连接池
  • TSB技能编辑器实战:可视化设计游戏角色技能与优化
  • 5款零代码AI工具推荐:非技术人员也能快速搭建智能助手
  • 如何与头部连锁商超高效对接?供应商须打通从订单到结算的数据链路
  • 嵌入式视觉AI模块AT指令开发指南:从串口通信到人脸识别实战
  • XGP游戏存档提取器:免费实现Xbox Game Pass存档跨平台迁移的完整指南
  • C++ vector迭代器失效全解析:从内存模型到安全编程实践
  • Hackintool:黑苹果配置的终极工具箱,快速解决硬件兼容性问题
  • 云市场加速试点:如何用模板+AI助手把试点周期从3个月压到6周
  • Python OCR实战:pytesseract安装配置、图像预处理与参数调优全攻略
  • WorkBuddy 第一次配置执行模式,为什么先选 Plan 而不是 Craft?
  • 从盲目输出到数据驱动:GBFR Logs如何让你的《碧蓝幻想:Relink》战斗水平翻倍
  • 如何为Photoshop添加完整的WebP格式支持:WebPShop插件终极指南
  • Hackintosh黑苹果网络驱动实战:从硬件适配到系统级优化的完整解决方案
  • 5分钟打造精简Windows 11:tiny11builder完全配置指南
  • 抖音直播实战:6大技巧破解直播间流量密码
  • Windows任务栏美化终极指南:用TranslucentTB轻松打造透明桌面效果
  • Visual C++ Redistributable AIO:3分钟解决Windows应用程序启动失败的终极方案
  • 硬件盲盒的 遗憾
  • AI模型上线即故障?B端后台必须预埋的7类模型生命周期监控断点
  • 2.基于 ABAP 面向对象与 BAPI 接口的采购订单批量审批系统设计与性能优化
  • SEM代运营服务商哪家靠谱?
  • 网盘直链下载助手终极指南:免费解决9大网盘下载限速问题
  • SEO优化核心策略:技术提升与内容匹配