如何用rsync高效完成Synology DS214上6TB文件夹的完整同步?
Synology DS214 中断传输后的高效rsync同步方案
一、确保完整同步的最高效rsync命令
针对你6TB文件夹传输中断的场景,最优命令是:
rsync -avP --partial-dir=.rsync-partial /path/to/source/folder/ /path/to/external/drive/folder/
参数说明:
-a:归档模式,自动包含递归同步、保留权限、时间戳、所有者/组等关键属性,是rsync同步目录的核心参数。-v: verbose模式,输出同步过程的详细信息,方便跟踪进度。-P:整合了--partial(保留未传输完成的临时文件)和--progress(显示单个文件的传输进度),完美适配中断续传场景,避免重新传输已完成的部分。--partial-dir=.rsync-partial:将未完成的临时文件统一放到目标目录下的.rsync-partial隐藏文件夹中,比默认的零散.part文件更整洁,也能避免误删临时文件导致续传失败。
为什么要去掉你之前用的-c参数?-c会强制对所有文件进行内容哈希校验,哪怕源文件和目标文件的大小、修改时间完全匹配。对于6TB的大文件集来说,这会极大增加同步时间,完全没必要——你的场景只是传输中断,不存在文件内容篡改的情况,rsync默认通过「文件大小+修改时间」判断是否需要同步的逻辑已经足够可靠。
二、--ignore-existing不是此场景的最佳参数
绝对不要用--ignore-existing,这个参数会直接跳过所有已存在于目标目录的文件,包括那些传输中断导致的残缺文件(比如只传了一半的大文件)。这会导致目标目录中残留不完整的文件,无法保证同步的完整性。
rsync的默认逻辑(配合-P)才是最适合你的:
- 如果目标文件不存在:完整传输源文件
- 如果目标文件大小小于源文件:续传剩余部分
- 如果目标文件大小和源文件一致、修改时间匹配:跳过该文件
完全不需要额外加--ignore-existing,就能高效且完整地完成续传。
针对Synology DS214的额外提示
- 确保用SSH登录NAS时使用拥有足够权限的用户(比如admin或root),避免因权限不足无法访问源目录或写入外部硬盘。
- 不需要手动逐个同步子文件夹,直接同步整个父目录即可,rsync会自动识别已完成同步的部分,效率远高于手动逐个处理。
内容的提问来源于stack exchange,提问作者godawgs
相关产品推荐
相关产品推荐

