rsync 远程路径被读取为本地路径
Rsync remote path is read as a local path
我想上传一个文件夹到我的 VPS。但是当我 运行:
rsync -a --exclude=/node_modules ~/MyCoolProject/ root@X.X.X.X/:var/MyCoolProject
X.X.X.X
是我 VPS 的 IP 地址。我收到以下错误:
rsync: mkdir "/Users/remi/root@X.X.X.X/:var/MyCoolProject" failed: No such file or directory (2)
所以它在我的本地机器上寻找 root@X.X.X.X
路径,而不是通过 SSH 连接到远程。
我做错了什么?
rsync -a ... root@X.X.X.X/:var/MyCoolProject
^--remove
去掉"X.X.X.X"后面的斜线。它导致 rsync
将参数解释为本地目录而不是远程目录。
更长的解释:Rsync 允许您使用以下形式的变体指定远程位置:
user@host:/remote/directory
其中 host 是主机名或 IP 地址。在您的例子中,远程位置的 "host" 部分是 "X.X.X.X/"。有效的主机名或 IP 地址不能包含“/”,因此 rsync 不接受该参数作为远程位置。相反,它退回到将参数解释为本地目录名称。
我想上传一个文件夹到我的 VPS。但是当我 运行:
rsync -a --exclude=/node_modules ~/MyCoolProject/ root@X.X.X.X/:var/MyCoolProject
X.X.X.X
是我 VPS 的 IP 地址。我收到以下错误:
rsync: mkdir "/Users/remi/root@X.X.X.X/:var/MyCoolProject" failed: No such file or directory (2)
所以它在我的本地机器上寻找 root@X.X.X.X
路径,而不是通过 SSH 连接到远程。
我做错了什么?
rsync -a ... root@X.X.X.X/:var/MyCoolProject
^--remove
去掉"X.X.X.X"后面的斜线。它导致 rsync
将参数解释为本地目录而不是远程目录。
更长的解释:Rsync 允许您使用以下形式的变体指定远程位置:
user@host:/remote/directory
其中 host 是主机名或 IP 地址。在您的例子中,远程位置的 "host" 部分是 "X.X.X.X/"。有效的主机名或 IP 地址不能包含“/”,因此 rsync 不接受该参数作为远程位置。相反,它退回到将参数解释为本地目录名称。