机器 A,Windows Server 2003。机器 B,Ubuntu 9.04。
目标是仅复制新的和更新的文件尽可能快地自动从 A 传输到 B。B 可以将 A 安装为 CIFS 或 NFS(在 A 上运行的 Unix NFS 服务器服务)。这是绝对时间关键的操作。
实现此目标的最佳方法是什么?inotify 可以通过 CIFS 或 NFS 工作吗?
注意:基准测试表明 NFS 与 CIFS 相比速度更快,且速度差异较小(根本没有调整 NFS 设置)
答案1
如果您确实坚持使用 Linux 机器作为目标,那么请在 2003 机器上运行 unix 服务并将文件系统导出到 ubuntu 机器 (NFS)。如果您需要将文件复制到另一个文件系统,则必须编写脚本来移动它们。最快的方法是简单地将 Windows 文件系统安装在 ubuntu 系统上的正确位置,而根本不要复制它们。
我发现 Windows NFS 支持比 Linux cifs 支持更稳定。
答案2
您可以尝试编写脚本 rsync (http://www.google.com/search?q=rsync+windows) 以某种“按钮”方式运行:当您在 Windows 机器上编辑或创建文件时,按下按钮,它就会运行。
您还可以创建一个脚本(批处理或 Powershell),在 rsync 运行之间休眠一段时间。
我建议使用 rsync,因为我的理解是该协议比 CIFS 或 NFS 更高效(数据/协议开销)。