Testing 用于保持测试/登台/实时环境中的内容同步的好工具

Testing 用于保持测试/登台/实时环境中的内容同步的好工具,testing,deployment,windows-server-2003,Testing,Deployment,Windows Server 2003,我正在寻找关于自动文件夹同步工具的建议,以使我们三个环境中的内容自动同步 具体来说,我们有几个应用程序,用户可以在其中上载内容(通过文件上载页面或类似机制),例如图像、pdf文件、word文档等。过去,我们让用户对我们的live server执行此操作,因此,我们的测试和登台服务器必须手动同步 接下来,我们将让他们将内容上传到登台服务器,我们希望一些软件能够按计划或在上传文件时自动将文件复制到测试和实时服务器 我曾计划编写自己的组件,或者将其设置为计划任务,或者使用FileSystemWatch

我正在寻找关于自动文件夹同步工具的建议,以使我们三个环境中的内容自动同步

具体来说,我们有几个应用程序,用户可以在其中上载内容(通过文件上载页面或类似机制),例如图像、pdf文件、word文档等。过去,我们让用户对我们的live server执行此操作,因此,我们的测试和登台服务器必须手动同步

接下来,我们将让他们将内容上传到登台服务器,我们希望一些软件能够按计划或在上传文件时自动将文件复制到测试和实时服务器

我曾计划编写自己的组件,或者将其设置为计划任务,或者使用FileSystemWatcher,但我突然想到,这可能已经完成了,我最好使用一些已经存在的同步工具

在我们的网站上,我们希望保持同步的文件夹数量有限。在这些文件夹中,它是一个全有或全无-我们希望确保文件夹是完全重复的。这将使它相当简单,我认为任何可以同步文件夹的软件都可以,除了我们还希望该软件记录更改。(这排除了简单的批处理文件。)

所以我很好奇,如果你有一个类似的环境,你是如何解决保持一切同步的挑战的。您是否知道有一种可靠的工具可以满足我们的需求?如果没有,您是否有一个接近的建议,或者更好的建议,一个我们可以获得代码并根据需要修改它的开源解决方案?(最好是.NET)

已添加

还有,我是第一个用谷歌搜索的,但是有很多选择,我最感兴趣的是知道什么是真正有效的,什么是他们说的有效的,这就是为什么我在这里问这个问题

添加了更多内容


我忘了指定这些是Windows服务器。(确切地说是Windows Server 2003)抱歉。

如果您想按计划执行此操作,我已经使用SyncBackSE来执行此操作-它将同步多个文件夹(或FTP站点)的任意一个方向,可能就是您要找的。但是,这是一个计划任务,我不相信它可以按需启动(尽管可能专业版支持这一点)。

在linux上,工具rsync是可用的最佳工具。

unison是一个很好的同步工具,但每次运行只支持两个副本。要同步三个站点,您必须执行AB、BC、AC


我建议使用git。在每个站点进行回购,并使用
git add
git rm
git commit
在每次回购时自动提交环境的当前状态。当您希望同步时,系统会自动在回购之间进行推拉操作。

很抱歉,这是我的错误,因为我没有指定操作系统。不过,对于linux来说,这是一个很好的答案。你可以在Windows下用cygwin运行rsync,也可以让一个MinGW版本独立运行它。你不需要cygwin在Windows上运行它。我不用它。编辑:您可以在这里下载.exe(但我刚刚注意到cygwin dll中包含了exe:)嘿,现在这看起来是一个很好的工具。。。一个比我通过谷歌得到的更高的分数。非常感谢。我们将对此进行研究。这很好——我们每天用它将公司的服务器备份几次到FTP站点,效果很好。我已经玩弄了它提供的多位置同步设置,它们似乎工作得很好,尽管我们还没有使用它们。