You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用--delete选项的rsync未删除目标端多余文件夹问题排查

rsync --delete 未生效的原因及解决方法

你的问题核心在于**--exclude与--delete的默认行为不匹配**:

  • --exclude=folder1/ --exclude=folder2/ 会让rsync跳过源端这两个文件夹的同步,同时默认也会跳过对目标端对应文件夹的删除检查
  • 默认的--delete仅会删除源端已不存在的文件/文件夹,但不会处理源端存在但被你排除同步的内容,也不会主动删除目标端中匹配排除规则的多余内容

要实现「排除源端指定文件夹,且目标端与源端完全一致(删除所有多余内容,包括目标端的folder1/folder2)」,需要调整命令:

rsync -Aaq --exclude=folder1/ --exclude=folder2/ --delete --delete-excluded /SourceFolder/ /DestinationFolder/

关键参数说明:

  • --delete-excluded:让rsync额外删除目标端中所有匹配你指定排除规则的内容,确保目标端彻底移除那些你不想备份的文件夹
  • 注意修正目标路径的拼写错误:/DesinationFolder/ → /DestinationFolder/(笔误不影响当前功能,但建议修正避免后续路径混乱)

另外补充两个常见问题点:

  • 源路径的尾斜杠/SourceFolder/不能省略:如果漏掉尾斜杠,rsync会把SourceFolder整个文件夹同步到目标端,导致目录结构不符,也会让--delete逻辑混乱
  • 运行rsync的用户需要对源路径和目标路径拥有足够的读写权限,权限不足会直接导致删除操作失败

内容的提问来源于stack exchange,提问作者Hadow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 12:23:16