Rsync:纯Ruby实现?

7
我有一个 Rsync 程序 Deltacopy,其中包含客户端和服务器的可执行文件,但如果可能的话,我想用纯 Ruby 实现的 Rsync 替换它。我找到了像 six-rsync 和 rsync-update 这样的 gem,但它们似乎都不是通用实现。我正在寻找一个纯 Ruby 的解决方案,因此不涉及任何可执行文件,并且最好能在多个操作系统上运行。如果可能的话,提供一个简单的示例会很棒。
我只需要 Rsync,不需要其他传输或备份解决方案。

1
虽然我通常不喜欢这样的问题,但是这个问题已经很明确,有一个客观的答案(“是” - 哪一个,或者“否”),并且显示了先前的研究,所以我不会关闭它。 - user166390
我认为如果在http://superuser.com/上提问会更好。Stack Overflow是针对编程特定问题的,而这个问题不是。 - the Tin Man
嗨Tinman,我正在寻找一个编程解决方案,具体来说是Ruby。如果我要求一个可执行的Rsync解决方案作为一个全能问题,那将是一个超级有用的问题,我不明白为什么你投票关闭。 - peter
3个回答

1

谢谢 v-v,但我真的已经自己搜索过并在提问之前就看到了这些。它们都不是 Rsync 解决方案,而只是简单的模仿和同步解决方案。Rsync 不仅仅是同步,它是关于只在位级别同步更改的数据。 - peter
好的 - 答案当然是为每个人准备的。我假设你可能已经找到了它们 - 但是谁也不知道。 - shashin
@peter,看起来你已经尝试了上述解决方案。我只想要根据文件大小和修改时间同步单向数据。上述解决方案是否符合这个标准? - onebree
我仍然使用DeltaCopy,因为我没有找到一个纯Ruby Rsync解决方案,无论是单向还是双向的。如果Rsync对你来说不是必需的,这里有适合你的解决方案,但我没有尝试过。对于同步PST文件,我只在Ruby中构建了自己的解决方案。 - peter

0

据我所见,这只适用于OSX和Linux,而不是Windows,并且依赖于一个正常运行的Rsync,因此肯定不是纯Ruby解决方案。 - peter
好的,我会保留这个答案,以防对其他人有用。 - Oscar Del Ben

0

我没有Rsync的C源代码,即使有也需要花费很多工作来让它正常运行,但我总是愿意尝试。所以我安装了gem,但即使使用inline required,网站上的基本示例仍会出现错误:“undefined method 'inline' for main:Object (NoMethodError)”。 - peter
你能安装或加载ImageScience gem吗?我只使用Ruby Inline来处理ImageScience。这可能有助于调试您在使用Ruby Inline时遇到的问题。它还应该提供一些示例代码,以便了解如何利用Ruby Inline。 - Teddy
当我使用gem install image_science并运行示例时,屏幕上会出现一大堆错误,同时也会出现内联错误,但这并不让我感到惊讶,在网站上他们只谈论OSX和Linux,而我下载的FreeImage正如他们所规定的那样,没有Windows可执行文件,也没有Ruby的包装器。 - peter
你提到的Rsync链接只适用于OSX和Linux系统,而且你需要cwRsync,它需要cygwin来运行。这一切都高度不可能与Ruby inline兼容。 - peter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接