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

Rsync本地推送到远程报错:源和目标不能均为远程

解决Rsync本地同步到远程时的"The source and destination cannot both be remote"错误

咱们先拆解下你碰到的问题:能正常从远程拉取文件到本地,但反向同步时却报错说源和目标不能同时是远程——明明你的命令是本地→远程,这说明命令格式肯定哪里出了问题。

先看你执行的命令:

rsync -av /Users/[username]/Documents/workprojects/[project-folder]/web/wp-content/themes/reactify/js/build/ [remote-server]:web/wp-content/themes/reactify/js/build

可能的问题点及解决方法:

  • 远程路径缺少登录用户(未配置默认登录规则时)
    Rsync连接远程服务器时,默认会用当前本地用户名登录,但如果远程服务器的用户名和本地不一致,或者你没配置SSH别名的话,必须明确指定远程用户名,正确格式是 [远程用户名]@[远程服务器地址]:[远程路径]。比如你的远程用户名是deploy,命令要改成:

    rsync -av /Users/[username]/Documents/workprojects/[project-folder]/web/wp-content/themes/reactify/js/build/ deploy@[remote-server]:web/wp-content/themes/reactify/js/build/
    
  • 远程路径结尾建议加斜杠
    虽然这不是报错的直接原因,但为了避免同步时把整个build文件夹当成文件复制到目标路径里(形成嵌套的build/build结构),建议目标路径也加上结尾的斜杠/,这样Rsync会把源文件夹内的内容同步到目标文件夹中。

  • 检查SSH别名配置(如果[remote-server]是自定义别名)
    如果你是用SSH配置文件里的别名指代远程服务器,要确保~/.ssh/config里的配置正确,比如:

    Host [remote-server]
      HostName 你的服务器IP或域名
      User 你的远程用户名
      Port 22 # 非默认22端口时需指定
    

    要是配置出错,Rsync可能无法正确识别别名,误判路径为远程路径,触发报错。

小验证技巧

你可以先通过SSH测试能否正常连接远程服务器:

ssh [remote-server]

如果连接失败,说明服务器别名或登录信息有问题,先解决SSH连接问题,再尝试Rsync同步。

内容的提问来源于stack exchange,提问作者T.Koomen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:48:55