我之前问过其他人,但我仍然不确定如何确切解决它。基本上,我有一个开发服务器,里面有多个项目不同分支的文件夹。现在我每天将它们 tar.gz 到 S3,所以我每天都有完整的备份,因为有时开发人员会来要求我恢复到前一天(是的,我知道……不要告诉我)。问题是这非常耗费 IO/负载,因为我们谈论的是 2 位数 GB 和 100,000 多个文件。所以现在我被要求备份更多的东西。我考虑过 rsync,但后来我怀念每日完整选项,除非也许将 rsync 与“将更改的文件复制到文件夹,tar 它,日期命名”结合起来?对于 rsync,我需要一个备份服务器,因为 S3 作为挂载共享非常慢,不适合这么多文件。我该怎么办?或者只是告诉我的开发人员“你会说 svn/git 吗?”?
感谢帮助
答案1
我认为,启动并运行像 git 这样的 DVCS 确实会让您受益匪浅。让您的开发人员使用自己的机器,一旦提交,就将其推送到中央服务器。然后他们可以恢复到早期版本而不会打扰您。然后,您可以使用 rsync 同步来自服务器的更改。我猜您也可以将存储库拉到备份服务器。
答案2
rsync 只是同步工具 - 您可以同步两个位置以获得相同的内容。您可以查看rdiff-backup
工具。它将差异从一个位置传输到另一个位置(就像 rsync 一样),但它会保留目标位置上的文件版本,因此您可以回到过去。如果文件没有更改,它不会传输任何内容,只是记录与上一个版本相比没有变化。