晴山_BlueMountain
519 words
3 minutes
rsync命令速查
rsync 命令速查:高效文件同步与备份
1. 核心功能
- 增量同步:仅传输差异部分,大幅节省带宽和时间
- 断点续传:支持中断后继续传输(
--partial
) - 保留属性:保持权限、时间戳等(
-a
归档模式) - 灵活过滤:支持包含/排除特定文件(
--include
/--exclude
)
2. 基础命令格式
rsync [选项] 来源 目标
3. 常用参数组合
组合 | 说明 | 适用场景 |
---|---|---|
-av | 归档+可视化 | 本地快速同步 |
-avz | 压缩传输 | 远程低带宽网络 |
-avh | 人类可读单位 | 手动操作查看 |
-avz --progress | 压缩+进度条 | 大文件传输监控 |
-avhz --progress --partial | 归档压缩人类可读单位进度条断电续传 | 手动监控下运行 |
4. 常用参数
▸ 传输控制
-a
:归档模式(包含-r
)-z
:压缩传输(Gzip)--bwlimit=1000
:限速 1000KB/s--delete
:同步删除目标端多余文件
▸ 路径处理
-R
:保留完整远程路径结构--relative
:保持相对路径(同-R
)- 路径结尾规则:
/path/ # 同步目录内容/path # 同步目录本身
▸ 调试与过滤
-n
:模拟执行(干跑测试)--exclude='*.log'
:排除日志文件--max-size=100M
:限制传输文件大小
5. 典型应用
▸ 远程同步(SSH)
rsync -avz -e "ssh -p 2222" \ user@host:/remote/path/ /local/path
▸ 目录镜像(严格一致)[删除目标存在而来源不存在的文件]
rsync -av --delete /source/ /backup/
▸ 批量同步文件列表
rsync -av --files-from=filelist.txt / user@host:/
6. 与 SCP/SFTP 对比
特性 | Rsync | SCP/SFTP |
---|---|---|
增量传输 | ✅ | ❌ |
断点续传 | ✅ | ❌ |
带宽控制 | ✅ | ❌ |
文件过滤 | ✅ | ❌ |
传输速度(首次) | 较慢 | 小文件快 |
简单易用 | ❌ | ✅ |
7. 最佳实践
- 首次同步前先用
-n
测试 - 关键操作添加
--progress
查看进度 - 长期备份使用
--backup-dir
保留旧版本 - 脚本中避免使用
-h
(人类可读大小) - 高速局域网可去掉
-z
减少 CPU 负载
8. 常见问题
▸ 权限问题
rsync -av --no-perms --no-owner --no-group /source /dest
▸ 跳过已存在文件
rsync -av --ignore-existing /source /dest
▸ 排除多个文件类型
rsync -av --exclude='*.tmp' --exclude='*.log' /source /dest