rsync 文件同步与增量备份教程:比 scp 快 10 倍

zheng头像
zheng 2026-07-16 12:00
楼主

> 你有没有试过 scp 传几十 GB 的文件,传到一半断了得重来?rsync 就是来解决这个痛点的——它只传输变化的部分,支持断点续传,压缩传输,是 Linux 管理员最爱的文件同步利器。

---

## rsync 的核心优势

| 特性 | 说明 |
|------|------|
| 增量传输 | 只传文件变化的部分 |
| 断点续传 | 传一半断了,重试只传没传完的 |
| 压缩传输 | 自动压缩,节省带宽 |
| 保留属性 | 保留文件权限、时间戳 |
| 远程同步 | 支持 SSH,两台机器之间同步 |

---

## 基本语法

```bash
rsync [选项] 源目录/ 目标目录/
```

注意源目录末尾的 /:带 / 表示复制目录内容,不带 / 表示连目录本身一起复制。

---

## 本地同步示例

```bash
# 基本同步
rsync -av /source/ /dest/

# 显示进度
rsync -avP /source/ /dest/

# 删除目标中源没有的文件(镜像同步)
rsync -av --delete /source/ /dest/

# 排除某些目录
rsync -av --exclude='node_modules' --exclude='.git' /source/ /dest/
```

---

## 远程同步

```bash
# 从本地推到远程
rsync -avzP -e "ssh -p 2222" /local/data/ user@remote:/remote/data/

# 从远程拉到本地
rsync -avzP -e "ssh -p 2222" user@remote:/remote/data/ /local/data/
```

---

## 常用选项速查

| 选项 | 作用 |
|------|------|
| -a | 归档模式(保留权限、时间等) |
| -v | 显示详细信息 |
| -z | 压缩传输 |
| -P | 显示进度 + 支持断点续传 |
| --delete | 删除目标中多余的文件 |
| --exclude | 排除文件/目录 |
| -n / --dry-run | 模拟运行,不实际上传 |

---

## rsync 和 scp 的区别

| 场景 | rsync | scp |
|------|-------|-----|
| 首次传输大文件 | 差不多 | 差不多 |
| 再次传输(少量变化) | 极快(只传差异) | 重新传全部 |
| 断点续传 | 支持 | 不支持 |
| 删除多余文件 | 支持 | 不支持 |

---

日常传个小文件用 scp 足够,做备份、同步大目录用 rsync。掌握这两种工具,文件传输就再也不是问题了。

Git进阶工作流 废旧手机赚钱指南:从吃灰到变现的 6 条野路子

最新回复

暂无回复,来说两句吧

发表评论

站点总访问量:2748