欢迎光临
我们一直在努力

rsync 命令详解:Linux 下最强文件同步工具(实战向)

在 Linux 日常开发和运维中,我们几乎天天在和文件打交道:

  • 拷贝数据集
  • 同步代码
  • 备份目录
  • 把本地文件传到远端服务器

很多人一开始用 cp、scp,直到数据量一大、目录一深、文件一多,就开始痛苦了。

这时候你一定会遇到一个名字:rsync。

一、rsync 是什么?

一句话概括:

它的核心优势包括:

  • ✅ 增量同步(只传变化的文件)
  • ✅ 支持本地 ↔ 本地、本地 ↔ 远端
  • ✅ 保留权限 / 时间戳 / 软链接
  • ✅ 支持断点续传
  • ✅ 走 SSH,安全可靠

因此,在以下场景中 rsync 是首选:

  • 大规模数据集同步
  • 频繁更新的目录
  • 服务器之间传输文件
  • 备份 / 镜像目录

二、基本语法

rsync [选项] 源路径 目标路径

示例:

rsync -av src/ dst/

三、最常用的核心参数(必会)

1️⃣ -a(archive,灵魂参数)

-a = -rlptgoD

作用:

  • 递归拷贝目录
  • 保留:
    • 文件权限
    • 修改时间
    • 软链接
    • 用户 / 组信息

📌 结论:99% 的 rsync 命令都应该带 -a

2️⃣ -v(verbose,显示过程)

rsync -av src/ dst/

让你看到 rsync 正在干什么,不然你会怀疑它是不是卡住了。

3️⃣ -z(压缩传输)

rsync -avz src/ user@server:/data/

  • 只在网络传输时有意义
  • 本地拷贝一般不用

📌 网络慢、文件多时非常有用

4️⃣ –progress(显示进度)

rsync -av –progress src/ dst/

大文件时会显示:

120.3MB 42% 15.6MB/s

5️⃣ –delete(危险但强大 ⚠)

rsync -av –delete src/ dst/

含义是:

让目标目录和源目录保持“完全一致”

  • 源目录删除的文件
  • 👉 目标目录也会被删除

📌 常用于:

  • 数据集镜像
  • 服务器备份

🚨 第一次使用前一定配合 –dry-run

四、rsync 最容易踩的坑:路径结尾的 /

这是 rsync 新手 100% 会踩的坑。

❌ 不带 /

rsync -av data dst/

结果是:

dst/
└── data/
└── file.jpg

✅ 带 /

rsync -av data/ dst/

结果是:

dst/
└── file.jpg

记忆口诀

带 /:拷贝目录里的内容
不带 /:拷贝整个目录本身

五、本地文件同步示例

rsync -av –progress \\
/mnt/data1/images/ \\
/mnt/data2/backup_images/

适合:

  • 数据集备份
  • 多磁盘之间迁移数据

六、同步到远端服务器(rsync + SSH)

rsync -avz –progress \\
/mnt/data1/dataset/ \\
user@192.168.1.100:/data/dataset/

本质上等价于:

rsync + ssh

但比 scp 强得多。

指定 SSH 端口

rsync -avz -e "ssh -p 2222" src/ user@ip:/data/

指定私钥

rsync -avz -e "ssh -i ~/.ssh/id_rsa" src/ user@ip:/data/

七、只同步指定类型文件(实战很常见)

比如:只同步 jpg 图片

rsync -av \\
–include="*/" \\
–include="*.jpg" \\
–exclude="*" \\
src/ dst/

非常适合:

  • 图像数据筛选
  • 视频帧抽取后的同步

八、断点续传(大文件必备)

rsync -av –partial –progress src/ dst/

如果是超大文件,可以更激进:

rsync -av –append-verify src/ dst/

网络中断后,重新执行命令即可继续。

九、先演练,再执行(强烈推荐)

rsync -av –dry-run src/ dst/

作用:

  • 只打印“将要发生的操作”
  • 不会真正拷贝 / 删除文件

📌 特别是在使用 –delete 时,必做一步

十、rsync vs cp vs scp

工具增量同步网络传输断点续传推荐度
cp ❌ ❌ ❌ ⭐
scp ❌ ✅ ❌ ⭐⭐
rsync ✅ ✅ ✅ ⭐⭐⭐⭐⭐

十一、rsync 常用选项详解(参数字典)

1️⃣ -a / –archive(归档模式 ⭐⭐⭐⭐⭐)

-a

这是 rsync 最重要、最常用的参数。

等价于:

-rlptgoD

具体包含:

子选项含义
-r 递归拷贝目录
-l 保留软链接
-p 保留权限
-t 保留修改时间
-g 保留组
-o 保留属主
-D 设备文件 / 特殊文件

结论:

如果你不知道该加什么参数,先加 -a 再说

十二、选项速查表(实战向)

需求推荐参数
常规同步 -av
网络传输 -avz
大文件 -avP
镜像备份 -av –delete
演练检查 –dry-run
只拷贝图片 –include / –exclude
防止覆盖 –ignore-existing
赞(0)
未经允许不得转载:171主机测评 » rsync 命令详解:Linux 下最强文件同步工具(实战向)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址