我正在尝试使用非标准端口将本地文件夹同步到远程服务器,我的 rsync 命令如下:
rsync -avz ~/Research/Folder1/folder2 -e "ssh -p 3345" [email protected]:/home/reusr/folder1/folder2
我收到以下错误:
bash: rsync: command not found
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.3]
当我跑步时rsync --version
我得到
rsync version 3.1.3 protocol version 31
我不确定为什么command not found
会发生错误或后续错误。
我使用 OSX Maojave 作为本地机器,使用 Debian 服务器作为远程机器。
您的本地 rsync 需要从远程服务器上的 SSH 启动远程 rsync,但无法找到它,因为它可能不在其路径中。
这就是“找不到命令”错误的来源(即,这表示您的本地 rsync 无法从远程计算机上的 SSH 会话中找到远程 rsync 可执行文件)。
您需要找出远程服务器上 rsync 的路径并将其作为 rsync 参数的一部分。您需要添加的参数是:
其中 /path/to/remote/rsync 是 rsync 命令在远程服务器上的位置。由于您的远程 rsync 服务器在 Debian 上运行,这可能是 /usr/bin/rsync
所以你的 rsync 命令变成:
确保
rsync
也安装在您尝试访问的远程计算机上。在我的例子中,我在安装它的本地机器上遇到了这个错误,因为rsync
它没有安装在远程服务器上。