RSYNC 需要 ssh 目录或文件才能成功

RSYNC requiring an ssh directory or file to succeed

我一直在寻找这个问题的答案,但我不知道这是一个晦涩难懂的问题,还是我没有正确阅读答案。 当我尝试使用 SSH 在两台机器之间进行 rsync 时,我收到此错误,除非列表中有一个名为 ssh 的目录:-

 rsync: link_stat "/rsync/ssh" failed: No such file or directory (2)

rsync 本身可以正常工作,按照我的预期传输文件和文件夹,但我不知道为什么它需要列表中的 ssh 文件夹。我是运行的命令是:-

rsync -avzh ssh /rsync/ root@192.168.56.103:/rsync/

我是 运行 root。这是在仅主机网络 运行 oracle linux 6.9

上的两个 VM 之间

非常感谢任何能指出我哪里出错的人。我确实认为这与我在命令行中放置 ssh 的位置有关,但移动它似乎并不能解决问题。

大卫

它正在尝试将名为 "ssh" 的文件和目录“/rsync/”同步到 192.168.56.103:/rsync/,但是发件人没有名为 "ssh" 的文件,这就是消息所抱怨的内容。

这不是一个很好的信息,但很少有。 8-)

问题是您试图在不使用 -e 开关的情况下指定远程 shell 命令。您很可能可以简单地删除 ssh 参数。根据 man rsync:

For remote transfers, a modern rsync uses ssh for its communications, but it may have been configured to use a different remote shell by default, such as rsh or remsh

所以,做

rsync -avzh /rsync/ root@192.168.56.103:/rsync/

如果您的系统确实不默认使用 ssh,请在 ssh 参数前添加 -e。

rsync -avzh -e ssh /rsync/ root@192.168.56.103:/rsync/