—— 客户端目录文件变化实时备份到服务端rsync inotify 实时同步部署操作文档新手版—— 客户端目录文件变化实时备份到服务端【适用环境】操作系统 : CentOS 7.x本机已验证 CentOS 7.9两台机器 : 服务端存备份 / 客户端放数据提前准备 : 两台机器的 root 账号和密码网络互通【本文约定】请按你自己的实际情况替换下面的值服务端 IP : 10.10.10.129客户端 IP : 10.10.10.130认证用户名 : hu认证密码 : abc-123服务端存储目录 : /hu 接收备份的地方客户端监控目录 : /hu 放文件的地方文件变化会被同步如果你要改只需把下面命令里的 IP、用户名、密码、/hu 目录替换成你自己的即可。第一部分 服务端配置存备份的机器本文 10.10.10.129【步骤1】登录服务端用 root 账号 SSH 登录服务端或直接在服务端本机终端操作。例如从其他机器登录ssh root10.10.10.129【步骤2】关闭防火墙、SELinux新手建议直接关避免同步被拦截systemctl stop firewalldsystemctl disable firewalldsed -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config【步骤3】安装 rsync一般系统已自带执行确认即可yum install -y rsync【步骤4】创建存储备份的目录mkdir -p /huchmod 777 /hu【步骤5】创建 rsync 配置文件执行下面整段命令把配置文件一次性写入 /etc/rsyncd.confcat /etc/rsyncd.conf EOFlog file /var/log/rsyncd.logpid file /var/log/rsyncd.pidlock file /var/log/rsyncd.locksecrets file /etc/rsyncd.pasmotd file /etc/rsyncd.motdread only nohosts allow 10.10.10.0/24list yesuid rootgid rootuse chroot nomax connections 4[linux_bak]path /hucomment data backupauth users huEOF说明- hosts allow 后面写允许连接的客户端网段如 10.10.10.0/24- [linux_bak] 是模块名客户端同步时要写这个- path /hu 是实际存储备份的目录- auth users hu 是认证用户名- uid / gid root 让备份文件以 root 属主写入权限更顺【步骤6】创建认证密码文件格式用户名:密码echo hu:abc-123 /etc/rsyncd.paschmod 600 /etc/rsyncd.pascat /etc/rsyncd.pas注意密码文件权限一定要 600否则 rsync 拒绝启动。【步骤7】创建连接提示文件可选可跳过echo ### rsync server ready ### /etc/rsyncd.motd【步骤8】启动 rsync 服务并设为开机自启systemctl start rsyncdsystemctl enable rsyncdsystemctl status rsyncd【步骤9】确认端口 873 已监听ss -anpt | grep 873看到类似下面输出就说明服务端成功了LISTEN ... *:873 ... users:((rsync,...))第二部分 客户端配置放数据的机器本文 10.10.10.130【步骤1】登录客户端ssh root10.10.10.130【步骤2】关闭防火墙、SELinux和服务端一样systemctl stop firewalldsystemctl disable firewalldsed -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config【步骤3】安装编译工具和 rsyncyum install -y gcc make rsync【步骤4】把 inotify-tools 源码包上传到客户端方式A用 WinSCP / Xftp 等工具把 inotify-tools-3.14.tar.gz上传到客户机的 /usr/local/bin/ 目录。方式B如果你本地能访问源码地址也可以在客户机直接cd /usr/local/binwget https://github.com/inotify-tools/inotify-tools/archive/refs/tags/3.14.tar.gzmv 3.14.tar.gz inotify-tools-3.14.tar.gz【步骤5】解压并编译安装 inotify-toolscd /usr/local/bintar zxf inotify-tools-3.14.tar.gzcd inotify-tools-3.14./configuremakemake install验证安装成功能看到 inotifywait 路径即成功which inotifywait输出应为/usr/local/bin/inotifywait【步骤6】创建客户端监控目录mkdir -p /huchmod 777 /hu【步骤7】创建客户端密码文件这里只写密码不含用户名echo abc-123 /etc/1.paschmod 600 /etc/1.pascat /etc/1.pas注意客户端密码文件 /etc/1.pas 里只写密码abc-123不要写“用户名:密码”的格式。【步骤8】创建实时同步脚本执行下面整段命令写入 /opt/inotify_rsync.shcat /opt/inotify_rsync.sh EOF#!/bin/bash# rsync inotify 实时同步脚本# 监控 /hu 目录文件变化时实时同步到 服务端IP::linux_bak/usr/local/bin/inotifywait -mrq -e create,move,delete,modify /hu | while read D E F ; dorsync -avH --delete --password-file/etc/1.pas /hu/ hu10.10.10.129::linux_bakdoneEOF赋予执行权限chmod x /opt/inotify_rsync.sh务必注意命令里的 /hu/ 末尾要带斜杠- 写 /hu/ 把 /hu 里面的内容同步到服务端 /hu正确- 写 /hu 会把 /hu 这个文件夹本身同步进去导致服务端出现 /hu/hu 嵌套错误【步骤9】启动实时同步脚本setsid nohup /opt/inotify_rsync.sh /tmp/inotify.log 21 /dev/null 确认监控进程已启动能看到 inotifywait 进程即成功ps -ef | grep inotifywait | grep -v grep【步骤10】设置开机自启重启后自动运行chmod x /etc/rc.d/rc.localecho [ -x /opt/inotify_rsync.sh ] setsid /opt/inotify_rsync.sh /tmp/inotify.log 21 /dev/null /etc/rc.d/rc.localtail -3 /etc/rc.d/rc.local第三部分 验证测试实时同步是否成功【测试1】客户端放文件看服务端是否出现在客户端 130 执行echo hello rsync sync test /hu/test_1.txt等 1~2 秒到服务端 129 查看ls -l /hu/如果看到 test_1.txt 出现在 /hu/ 里说明“新增同步”成功。【测试2】客户端删文件看服务端是否同步删除在客户端 130 执行rm -f /hu/test_1.txt等 1~2 秒到服务端 129 查看ls -l /hu/如果 test_1.txt 也从服务端 /hu/ 消失说明“删除同步”--delete成功。【测试3】手动同步一次排查问题用在客户端 130 执行rsync -avH --password-file/etc/1.pas /hu/ hu10.10.10.129::linux_bak出现 “sending incremental file list” 且无报错说明链路是通的。第四部分 常见问题排查【问题1】同步没反应 / 报 permission denied检查点- 服务端 /etc/rsyncd.pas 权限是否是 600- 客户端 /etc/1.pas 权限是否是 600- 服务端 /etc/rsyncd.conf 里 read only 是否为 no- 客户端密码文件里是否只写了密码没写用户名【问题2】连接超时 / 连不上 873 端口检查点- 服务端是否执行了 systemctl start rsyncd- 服务端 ss -anpt | grep 873 是否有输出- 服务端 hosts allow 网段是否包含客户端 IP- 防火墙是否关闭【问题3】服务端出现 /hu/hu 嵌套目录原因客户端同步脚本里写的是 /hu无尾斜杠解决把脚本里的 /hu 改成 /hu/ 并删除服务端多余嵌套目录rm -rf /hu/hu【问题4】修改脚本后不生效需要先停掉旧进程再重启pkill -9 -f inotifywaitpkill -9 -f inotify_rsync.shsetsid nohup /opt/inotify_rsync.sh /tmp/inotify.log 21 /dev/null 【问题5】如何查看同步日志tail -f /tmp/inotify.log以及服务端日志tail -f /var/log/rsyncd.log小提示1. 密码都是明文存在 /etc/1.pas 和 /etc/rsyncd.pas 里的生产环境建议换成 rsync 的 SSH 认证或更安全的方案。2. 如果备份量很大可以把 hosts allow 收紧到具体客户端 IP例如hosts allow 10.10.10.1303. 文档中的 IP、用户名、密码、/hu 目录请按你的实际环境替换。部署完成祝你顺利如有问题对照“常见问题排查”逐步检查。测试两台虚拟机客户端创建文件服务端测试 看是否存在文件
企业数字化 ERP 产品动态
相关推荐
Mention 组件向上展开(Placement)实战指南 UI组件前端 【免费下载链接】ng-zorro-antd Angular UI Component Library based on Ant Design 项目地址: https://gitcode.com/gh_mirrors/ng/ng-zorro-antd 点击查看 免费下载 Mention 提及组件是 Angular 生态中实现" 某人"交互的核心 UI 组件。默认… · 2026/9/27 21:26:29
CNS Neurosci Ther: 脑动静脉畸形患者静息态下的语言功能连接改变 本篇文献发表在CNS Neuroscience & Therapeutics杂志。所发布内容旨在与大家分享学术新知,促进交流学习,版权归原作者或原出处所有,感谢各位学者的辛勤付出与研究成果。1.引言 语言网络改变在颅内病变患者中普遍存在,无论其是… · 2026/9/27 21:26:16
骚操作N:把GPT5.6接入Claude Code大发神威 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 21:26:16
模型无关设计:OpenClaw 兼容 GPT、Claude 与本地大模型的配置骨架 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 22:01:46
嵌入式c语言编程的一些概念合并或正式提出 最近,我在写stm32单片机程序,有一些概念在前面我总结的文章中没有明确提出来,但是含义已经表达清楚了,今天这篇文章就是对这些概念进行总结合并并正式提出。(1)应用层和驱动层。我以前文章中多次提到&#… · 2026/9/27 22:01:46
OpenClaw 实战避坑:从 gateway 配置到 skill 加载的问题记录与 tips 汇总 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 22:01:46
OpenViking 调研:用 TaoToken 统一 Key 打通配置与验证链路 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 22:01:40
网站建设所要花费的资金一文搞懂:小白避坑指南 网站建设所要花费的资金一文搞懂:小白避坑指南 自己不会代码,想做网站却怕被坑?别慌,这行水深,但底细能摸透。今天咱们不整虚的,直接拆解网站建设所要花费的资金,一文搞懂从域名到上线的每一笔钱花在哪。很多初学者刚入行,对着报价单一头雾水,不知道… · 2026/9/27 22:01:40
科研必备文献工具 Zotero:从入门到高效管理 1. 引言
对于科研工作者来说,文献管理是日常工作中绕不开的一环。从文献的检索、下载、阅读、标注,到论文写作时的引用插入,每一个环节都耗费着大量精力。而 Zotero 作为一款免费、开源、跨平台的文献管理工具,凭借其强大的插件生… · 2026/9/27 22:01:39
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现 简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01
汕头网站建设制作厂家避坑指南:5大注意事项救急 汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习 简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现 简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01
汕头网站建设制作厂家避坑指南:5大注意事项救急 汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习 简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01