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

📅 2026/8/1 12:29:54
lsyncd + rsync 双向实时同步部署(centos stream 9)
环境说明源服务器A**192.168.1.149**CentOS Stream 9目标服务器B**192.168.1.148**CentOS Stream 9同步目录**/data/web/**效果**双向实时同步**一边改另一边自动同步一、两台机器都执行基础准备1. 安装 EPELlsyncd 必须dnf install -y epel-release dnf makecache2. 安装 rsync lsyncddnf install -y rsync lsyncd3. 创建同步目录mkdir -p /data/web4. 关闭防火墙企业内网推荐systemctl stop firewalld systemctl disable firewalld5. 关闭 SELinux避免权限拦截setenforce 0 sed -i s/^SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config6. 创建 lsyncd 日志目录mkdir -p /var/log/lsyncd二、两台机器互相配置免密 SSH必须在 149 执行ssh-keygen -t ed25519 -N -f /root/.ssh/id_ed25519 ssh-copy-id root192.168.1.148在 148 执行ssh-keygen -t ed25519 -N -f /root/.ssh/id_ed25519 ssh-copy-id root192.168.1.149双向验证两台都试一下ssh root192.168.1.148 date ssh root192.168.1.149 date不输入密码直接登录即为成功。三、配置 lsyncd两台机器配置不同机器 A192.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 } }机器 B192.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 } }四、两台机器都启动 lsyncdsystemctl 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