在实时网站上维护备份和修订控制的最佳解决方案是什么?
作为我工作的一部分,我与几个实时网站合作。随着时间的推移,我们需要一种有效的方法来维护活动文件夹的备份。此外,更新这些站点可能会很痛苦,特别是如果更改发生在实时环境中,无论出于何种原因。
理想的情况是无忧的源代码控制。我实施了一段时间的 SVN,它作为备份和修订控制(轻松恢复临时或重大更改)等的半解决方案非常棒。
不幸的是,SVN 将 .SVN 隐藏目录放置在任何地方,这会导致问题,尤其是当其他开发人员更改文件夹结构或复制/移动网站目录时。我听说这是教育等问题,但 SVN 采取的方法对我们来说根本不是一个实际的解决方案。
我在想也许增量备份解决方案可能会更好。
其他可能性包括:
- SVK,这只是命令行,这成为一个问题。此外,我不确定这是否合适。
Mercurial,可能带有一些触发器来隐藏分布式组件,这在这种情况下是不需要的,并且对于其他开发人员来说会不必要地复杂化。
我对 Mercurial 进行了简短的试验,但找不到一个很好的方法来分离存储库并与实时文件夹工作副本保持同步。也许作为一个源代码控制解决方案(使存储库和活动文件夹在同一个地方)与另一个备份解决方案相结合,这可能是要走的路。
Mercurial 的一个缺点是它不会将空文件夹置于源代码控制之下,这对于经常将空文件夹作为文件上传等占位符位置的网站来说是个问题。
- Rsync,我还没有真正调查过。
我非常感谢您就维护实时网站备份的最佳方式提出的建议,最好是通过一种简单的方法快速检索过去的版本。
回复回复:
@基比:
与其说是教育,不如说是对 VSS 以外的任何东西都不熟悉,而且缺乏时间/精力来学习其他任何东西。
我想 xcopy/7-zip 方法听起来很合理,但它很快就会占用很多空间,对吧?
至于源代码控制,我想我希望源代码控制只是说“这是文件夹现在的状态,我会处理它,如果我不能匹配东西那是你的错,我”只会开始新的历史”,而不是努力失败。
@史蒂夫米:
- 是的,这是一种更好的方式,但需要进行重大的文化变革。话虽如此,我非常喜欢这种方法。
@mk:
- 不错,我没想过用 Rsync 来部署。这只会上传差异吗?由于站点停机,每次我们进行更改时覆盖整个实时目录都会有问题。
我仍然很好奇是否有更传统的选择