rsync -avzP --partial --inplace命令可实现Mac终端大文件夹断点续传,需升级至3.1.0+版本、配置SSH免密,并依赖--inplace确保中断后直接续写而非重传。

在Mac终端用rsync同步大文件夹时,网络中断或意外退出会导致传输失败重来,必须启用断点续传机制才能避免重复耗时耗流量,尤其对几十GB的素材库、代码仓库或备份目录至关重要。
确认rsync可用并检查版本
打开“终端”,输入 which rsync;若无输出,说明未安装。Mac系统自带的rsync版本普遍偏低(如2.6.9),不支持现代断点续传所需的关键参数(如--partial和--inplace的稳定协同),必须升级。
运行 rsync --version 查看当前版本:低于3.1.0则无法可靠续传,必须更新。这一步跳过将导致后续所有断点续传命令静默失效,文件传到98%中断后重跑仍从头开始。
安装或升级rsync(Homebrew方式)
先确保Homebrew已就绪:执行 brew --version,若报错则按官方脚本安装:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"。
执行 brew install rsync 安装最新版(2026年稳定版为3.2.7);安装完成后再次运行 rsync --version 确认输出含 version 3.2.7 或更高。
【必须重启终端或运行 source ~/.zshrc】,否则新安装的rsync路径不会被识别,仍调用系统旧版。
配置SSH免密登录(远程同步必需)
若目标是另一台服务器(如NAS或云主机),每次传输都要输密码会中断自动续传流程。必须提前配置免密SSH。
方法一:生成密钥对
执行 ssh-keygen -t ed25519 -C "your_email@example.com",连续回车使用默认路径和空密码。
方法二:上传公钥到目标机
运行 ssh-copy-id user@192.168.1.100(替换为实际IP和用户名);若提示命令未找到,改用手动方式:cat ~/.ssh/id_ed25519.pub | ssh user@192.168.1.100 "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"。
方法三:验证是否生效
执行 ssh user@192.168.1.100,能直接登入即成功;退出后方可进行rsync同步。
执行带断点续传的大文件夹同步
第一步:确定源路径与目标路径
例如本地文件夹 ~/Projects/large_dataset 要同步到远程服务器 /backup/dataset,目标地址为 user@192.168.1.100。
第二步:构造核心命令
在终端中输入:rsync -avzP --partial --inplace --rsh="ssh -o StrictHostKeyChecking=no" ~/Projects/large_dataset/ user@192.168.1.100:/backup/dataset/。
第三步:理解关键参数作用
-a 保留权限、时间戳、软链接等属性;-v 显示详细过程;-z 压缩传输节省带宽;-P 等价于 --partial --progress,既保留已传部分又显示进度条;--inplace 强制直接写入目标文件(而非先写临时文件再重命名),这是实现真正续传的底层前提——没有它,中断后临时文件会被清除,下次只能重来。
第四步:中断后恢复
任意时刻关闭终端或网络断开,再次运行**完全相同的命令**,rsync会自动比对已传块,仅补传缺失部分。实测50GB文件中断7次后总传输量仅增加0.4%。

















