首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在实时网站上维护备份和版本控制的最佳解决方案是什么?

在实时网站上维护备份和版本控制的最佳解决方案是什么?
EN

Stack Overflow用户
提问于 2008-08-26 02:32:39
回答 4查看 1.1K关注 0票数 3

在实时网站上维护备份和版本控制的最佳解决方案是什么?

作为我工作的一部分,我在几个现场网站上工作。随着时间的推移,我们需要一种有效的方法来维护活动文件夹的备份。此外,更新这些站点可能会很痛苦,特别是如果更改由于任何原因而破坏了活动环境。

最理想的是无麻烦的源代码管理。我实现了一段时间的SVN,这是一个很好的半解决方案,用于备份和修改控制(临时或中断更改的简单还原)等等。

不幸的是,SVN将.SVN隐藏目录放置在任何地方都会造成问题,特别是当其他开发人员更改文件夹结构或复制/移动网站目录时。我听说过这样的观点,即这是一个教育问题等等,但是SVN所采取的方法对我们来说并不是一个实际的解决方案。

我在想,也许增量备份解决方案可能更好。

其他可能性包括:

  1. 斯维克,这是命令行,只会成为一个问题.此外,我不知道这样做是否合适。
  2. ,可能带有一些触发器来隐藏分布式组件,在这种情况下这是不需要的,对于其他开发人员来说也是不必要的复杂,我对Mercurial进行了短暂的试验,但是找不到一种很好的方法来分离存储库,并不断地与活动文件夹保持同步。也许作为源代码管理解决方案(使存储库和活动文件夹位于同一个位置)与另一种备份解决方案相结合,这可能是Mercurial的go.One缺点,因为它没有将空文件夹置于源代码控制之下,这对于经常将空文件夹作为文件上传占位符位置的网站来说是个问题。
  3. Rsync,我还没真正调查过。

我真的很感激你的建议,如何最好的方式来维护实时网站的备份,理想的方法是快速检索过去的版本。

答:

  • @Kibbee:
代码语言:javascript
运行
复制
- It's not so much about education as no familiarity with anything but VSS and a lack of time/effort to learn anything else.  
- The xcopy/7-zip approach sounds reasonable I guess but it would quickly take up a lot of room right?  
- As far as source control, I think I'd like the source control to just say that "this is the state of the folder now, I'll deal with that and if I can't match stuff up that's your fault, I'll just start new histories" rather than fail hard.

  • @Steve M:
代码语言:javascript
运行
复制
- Yeah that's a nicer way of doing it but would require a significant cultural change.  Having said that I very much like this approach. 

  • @mk
代码语言:javascript
运行
复制
- Nice, I didn't think about using Rsync to deploy. Does this only upload the differences? Overwriting the entire live directory everytime we make a change would be problematic due to site downtime.

我仍然想看看是否有更传统的选择。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2008-08-26 02:37:51

您仍然可以使用SVN,但是不需要对活动环境进行签出,而是进行导出,这样就不会创建.svn目录。当然,它的缺点是在您的活动环境中不会发生任何代码更改。这是件好事。

作为一般规则,不应允许在生产系统上进行代码更改。更改应该在开发/测试/UAT环境中进行和测试,然后确认为OK后,您可以在SVN中使用类似于RELEASE的代码标记。然后,在活动系统上,导出带有该标记的代码。

票数 4
EN

Stack Overflow用户

发布于 2008-08-26 02:49:17

我们使用选项3. Rsync。我编写了一个bash脚本来完成这个任务,并进行了一些额外的检查,但是下面是它所做的基本工作。

  1. 制作一个标签,以推动生活。
  2. 在该标记上运行svn导出。
  3. 要活下去。

到目前为止,它一直在发挥作用。我们不必担心用户冲突,也不必有一个单独的用户在生产机器上运行svn。

票数 2
EN

Stack Overflow用户

发布于 2008-08-26 02:37:57

如果人们移动、删除或添加文件,而不将其告知源代码管理系统,那么您选择的任何源代码管理解决方案都会出现问题。我不知道有任何源代码管理项可以解决这个问题。

如果您无法对project1上的工作人员进行教育,那么您可能只需要每天提供快照。一些简单的东西,比如使用xcopy到网络驱动器的批处理文件,并且可能在命令行上使用7-zip压缩它,这样它就不会占用太多的空间,这可能是最简单的解决方案。

我非常不相信这一点,也许只是因为人们太固执,不愿意学习,或者做“额外的工作”。不管源代码管理可以节省多少时间,当它们必须回到以前的版本时,或者有两个人编辑了相同的文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档