【问题标题】:Explain rsync's --blocking-io option解释 rsync 的 --blocking-io 选项
【发布时间】:2010-09-15 10:25:52
【问题描述】:

我无法理解 rsync 中的 --blocking-io 选项。这是手册页中的描述:

"这告诉 rsync 在启动远程 shell 传输时使用阻塞 I/O。如果远程 shell 是 rsh 或 remsh,则 rsync 默认使用阻塞 I/O,否则默认使用非阻塞 I/O .(请注意,ssh 更喜欢非阻塞 I/O。)"

  • 当使用 rsync 作为传输时, 即你不使用-e,这有吗 有效果吗?

  • 我猜是运行rsync的结果 有或没有该选项是 相同,不同之处在于“如何” rsync 进行传输吗?

  • 我想要的主要原因是什么 使用此选项?表现? 看起来 rsync 提供了明智的 我的默认设置,所以我为什么要 使用它?

  • 还有最后一个:“注​​意什么” ssh 更喜欢非阻塞 I/O” 什么意思?

【问题讨论】:

  • 来自未来的你好,2010 人。我有一张便条。你的一个问题开始了,“当使用 rsync 作为传输时,即你不使用 -e ...”。不使用“-e”并不一定意味着您使用 rsync 作为传输。如果没有“-e”,rsync 会退回到普通 ssh 作为默认的远程 shell 传输。为了不使用 shell,并使用 rsync 守护进程作为传输,您必须使用 host::module 或 rsync://host/module/ 语法明确指定源或目标。

标签: rsync nonblocking


【解决方案1】:

抱歉,我的部分研究搞混了。那是我的错。 (更正或添加的内容以斜体显示)

Q1:是的。 Rsync 使用异步 I/O(非阻塞)。通过使用该选项,您将强制它使用阻塞 I/O 模式。 这将在远程 shell (rsh) 无法处理非阻塞模式时使用。

Q2:是的。最终结果将是相同的。

Q3:如果远程 shell 无法处理非阻塞 i/o

,您可能希望使用此选项

Q4:“非阻塞模式确保当您的连接中断时,您的屏幕会话不会阻塞(‘挂起’)。” (http://webcache.googleusercontent.com/search?q=cache:xmCnC0y5QU0J:www.warp13.co.uk/irssissh+ssh+blocking+mode&cd=13&hl=en&ct=clnk&gl=us&client=firefox-a) SSH 更喜欢那个

希望对你有帮助!

【讨论】:

  • 你提到的那篇文章用不同的含义使用了这两个术语,“rsync默认是异步的”和“即使单个字节发生变化[...]”之间的随意关系是不存在的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-11
  • 1970-01-01
相关资源
最近更新 更多