我有一台服务器内部网(已加入域,可通过域帐户访问),另一个在外联网(未加入域,可使用本地帐户通过跳转站访问)。域用户可以访问内部网服务器上的共享文件夹,并可根据需要更新内容。这些文件夹需要同步(1 路同步) 到外联网服务器。外联网服务器(或 DMZ 中的服务器)受到保护,不得进行任何基本访问,并且仅允许特定设备访问特定端口(RDP,端口 3389,仅允许特定子网;HTTP,端口 80,仅允许 HW 负载均衡器;等等)。因此,我无法使用文件共享,这会使 robocopy 无法使用,并且我无法使用 DFS-R,因为两个服务器都不在域中。
我搜索了一些免费的同步应用程序,但它们都是基于两个可以相互访问的服务器之间的同步。我正在寻找在特定端口上运行的服务器-客户端同步软件(这将在防火墙中排除)。我的想法是,客户端(内部网中的服务器)将通知服务器(外部网中的服务器),一些文件已被添加/修改/删除,并将这些文件/更改发送到服务器以将它们存储在配置的文件夹中。当然,ACL 在这里并不重要 - 存储在目标服务器上的所有文件都将具有来自父文件夹的默认(继承)权限。
过去,我使用过微软的一个非常古老的工具,叫做“Microsoft Site Server 3.0 内容部署”。此工具已使用 10 多年,并且不再起作用 - 它需要一个域用户帐户,如果 DFL 和 FFL 太高(>W2K12),则无法找到该帐户。
感谢您的帮助或建议。
答案1
您想要的听起来很像 Windows 的 Rsync,并且您可能需要研究它的实现。
据我所知,目前有几种实现方式,例如 cwRsync,但它们似乎只提供了客户端的免费版本,因此如果您想要一个免费的整体解决方案,您可能需要研究不同的服务器版本(虽然我不确定是否有很多,因为 Rsync 似乎是 Windows 世界中缺少的东西)
也可以看看: 为什么 rsync 在 Windows 世界中还没有流行起来?
这可能会给你进一步的指点。