【问题标题】:RSYNC requiring an ssh directory or file to succeedRSYNC 需要 ssh 目录或文件才能成功
【发布时间】:2018-08-07 00:36:48
【问题描述】:

我一直在寻找这个问题的答案,但我不知道这是否是一件晦涩的事情,或者我没有正确阅读答案。 当我尝试使用 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 的仅主机网络上的两个虚拟机之间

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

大卫

【问题讨论】:

  • 您将需要 -e 标志来使用该ssh 位:rsync -avzh -e ssh /rsync/.... 这应该可以让您克服该错误,它可以工作,或者给您一个新的问题来解决。
  • Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super UserUnix & Linux Stack Exchange 会是一个更好的提问地点。
  • JNevill - 看起来 -e 标志就是其中之一。 jww - 感谢您的反馈。下次我会尝试堆栈交换。

标签: linux ssh rsync


【解决方案1】:

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

对于远程传输,现代 rsync 使用 ssh 进行通信, 但它可能已被配置为使用不同的远程 shell 默认,如rsh或remsh

那就去吧

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

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

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

【讨论】:

  • 谢谢,看来我需要 -e 选项。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-27
    • 2019-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多