我正在寻找有关自动文件夹同步工具的建议,以保持我们三个环境中的内容自动同步。
具体来说,我们有几个应用程序,用户可以上传内容(通过文件上传页面或类似机制),如图像,pdf文件,word文档等。过去,我们让用户这样做我们的实时服务器,因此,我们的测试和登台服务器必须手动同步。
展望未来,我们会让他们将内容上传到登台服务器,我们希望某些软件能够按计划自动将文件复制到测试和实时服务器上,或者当文件上传时。
我计划编写自己的组件,并将其设置为计划任务,或使用FileSystemWatcher,但我发现这可能已经完成了,我可能会更好一些已经存在的同步工具。
在我们的网站上,我们希望保持同步的文件夹数量有限。在这些文件夹中,它是全有或全无 - 我们要确保文件夹是完全重复的。这应该是相当简单的,我认为任何可以同步文件夹的软件都可以,除了我们也希望软件记录更改。 (这排除了简单的BATCH文件。)
所以我很好奇,如果你有类似的环境,你是如何解决保持一切同步的挑战的。您是否了解可靠且满足我们需求的工具?如果没有,您是否建议我们能够获得代码并根据需要对其进行修改? (最好是.NET)。
加
此外,我首先谷歌这个,但有很多选择,我最感兴趣的是知道什么实际上有效,而不是他们的SAY工作,这就是为什么我在这里问。
添加更多
我忘了指定这些是Windows服务器。 (确切地说是Windows Server 2003)抱歉。
答案 0 :(得分:1)
如果你想按计划进行,我已经使用SyncBackSE来做到这一点 - 它会同步多个文件夹(或FTP站点),也可能是你正在寻找的。但是,这是一项计划任务,我不相信它可以按需启动(尽管Pro版本可能支持)。
答案 1 :(得分:1)
在linux上,rsync工具是最好的工具。
答案 2 :(得分:0)
unison是一个很好的同步工具,但每次运行只支持两个副本。要同步三个站点,您必须执行A< - > B,B< - > C,A< - > C.
我建议使用git。在每个站点创建一个repo,并使用git-add
,git-rm
和git-commit
自动使用每个repo提交当前的环境状态。当您希望同步发生时,在回购之间自动推拉。