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

使用rsync插入新子目录时提示目录不存在,为何无法执行?

rsync命令无法正常工作的原因及解决办法

问题场景

现有远程文件系统结构:

├── freshmeat
│   └── prime
│       ├── A
│       └── B

需要将本地freshmeat/prime/c/D同步至远程,让远程新增C/D子目录,预期结构:

├── freshmeat
│   └── prime
│       ├── A
│       └── B
│       └── C
│           └── D

执行命令rsync -rvzP freshmeat/prime/c/D freshmeat/prime --delete时提示目录不存在,问题出在以下几点:

核心问题

  • 未指定远程主机标识:rsync同步远程目录时,目标路径必须包含远程主机信息,格式为[用户@]远程主机IP/域名:/目标路径。你写的freshmeat/prime会被rsync当作本地路径处理,如果本地没有这个路径,就会报错“目录不存在”。
  • 路径逻辑错误:你的源是freshmeat/prime/c/D,目标写freshmeat/prime的话,就算路径正确,最终会把D目录直接放到远程prime下,而不是你要的C/D层级。
  • --delete参数误用:这个参数会删除目标目录中源目录没有的内容,要是按你当前的命令执行,远程prime下的A、B目录会被全部删除,完全不符合需求。

正确的同步命令

要实现目标结构,应该同步本地的c目录到远程prime目录下,命令示例:

rsync -rvzP freshmeat/prime/c/ 用户@远程主机:/freshmeat/prime/
  • 源路径末尾加斜杠/,表示同步c目录下的所有内容(包括D)到目标的c目录中;
  • 目标路径必须带远程主机信息,确保rsync识别为远程同步;
  • 移除--delete参数,避免误删远程已有的A、B目录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 22:29:59