Rsync 数据同步工具及实时同步配置

一、Rsync 简介
Rsync 是 Linux 系统下的快速增量数据镜像备份工具,支持本地复制、远程同步(通过 SSH 或 Rsync 协议),能高效实现数据备份与镜像。
二、Rsync 核心特性
- 完整镜像:支持目录树和文件系统的完整镜像备份
- 属性保留:保持文件权限、时间、软硬链接等元数据
- 无需特殊权限:普通用户即可安装使用
- 高效传输:首次全量复制,后续仅传输增量数据;支持压缩传输,节省带宽
- 安全灵活:可通过 SSH 协议加密传输,也支持匿名传输
- 广泛适用:适用于本地备份、远程同步、网站镜像等场景
三、Rsync 认证与常用命令
1. 认证协议
- SSH 协议:依赖 SSH 进行身份验证,无需单独启动 Rsync 服务,与
scp原理类似 - Rsync 协议:需配置 Rsync 服务端(
rsyncd.conf),通过专用端口(873)通信
2. 常用命令格式
# 本地文件复制
rsync [选项] 源路径 目标路径
# 本地到远程(SSH协议)
rsync [选项] 源路径 用户@远程IP:目标路径
# 远程到本地(SSH协议)
rsync [选项] 用户@远程IP:源路径 目标路径
3. 核心选项
-a:归档模式(递归传输并保留所有属性)-v:显示详细输出-z:传输时压缩数据-r:递归传输目录-p:保留文件权限--delete:删除目标端不存在的源端文件(保持完全一致)-e "ssh -p 端口":指定 SSH 端口(默认 22)
4. 示例
# SSH协议同步本地目录到远程(默认端口)
[root@zhangyiwei3 /]# rsync -avz /data root@192.168.100.20:/text
The authenticity of host '192.168.100.20 (192.168.100.20)' can't be established.
ECDSA key fingerprint is SHA256:dxe4J1VoUg7jQYq4ZRvDw2HLfOzu2zjP7bdX6m8J5Is.
ECDSA key fingerprint is MD5:4a:aa:28:8c:2c:62:8b:68:52:e3:c0:3d:ae:0a:b5:e1.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.100.20' (ECDSA) to the list of known hosts.
root@192.168.100.20's password:
sending incremental file list
rsync: link_stat "/data" failed: No such file or directory (2)
sent 18 bytes received 12 bytes 1.09 bytes/sec
total size is 0 speedup is 0.00
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1178) [sender=3.1.2]
# 指定SSH端口(如2222)
rsync -avz /data -e "ssh -p 2222" root@192.168.100.20:/text
# 同步远程文件到本地
rsync -avz root@192.168.100.20:/var/log/messages /tmp/
四、Rsync + Inotify 实时同步方案
1. 方案优势
- Rsync 不足:需手动触发或定时执行,无法实时同步;大量文件时扫描耗时
- Inotify 补充:Linux 内核提供的文件系统事件监控机制,可实时捕捉文件创建、修改、删除等事件
- 组合效果:Inotify 监控文件变化,触发 Rs

8820

被折叠的 条评论
为什么被折叠?



