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 对比#

特性RsyncSCP/SFTP
增量传输
断点续传
带宽控制
文件过滤
传输速度(首次)较慢小文件快
简单易用

7. 最佳实践#

  1. 首次同步前先用 -n 测试
  2. 关键操作添加 --progress 查看进度
  3. 长期备份使用 --backup-dir 保留旧版本
  4. 脚本中避免使用 -h(人类可读大小)
  5. 高速局域网可去掉 -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
rsync命令速查
https://fuwari.vercel.app/posts/rsync命令速查/
Author
7ac9d42
Published at
2025-04-15
License
CC BY-NC-SA 4.0