为灾难管理阶段备份 git 服务器

Back up git server for disaster management stage

我有一个 git 服务器并计划在灾难情况下对其进行备份。我用谷歌搜索了一下,得到的一些要点如下:

  1. git 克隆 repos 并在需要时推送到新服务器上,也可以在本地使用。
  2. 创建一个 git 包。

我有一个朋友在争论我们应该复制 git 位置服务器的整个文件结构(包含 git 服务器应用程序的所有文件结构)并在需要时将其配置回来在服务器上。

我需要你们的帮助。我该如何进行,哪种方法最好?

git 是 distributed version control system.

这意味着每次有人克隆存储库时,他就克隆了所有历史记录。

经常克隆和拉取您的 git 存储库,在发生崩溃时您将不会遇到任何恢复问题。

如果您是从系统管理员的角度出发,那么您朋友的建议是最好的。只有包括所有权限等的文件系统备份才能确保在中断后恢复是 100% 可能的、快速的,并且可以由您的常规系统管理员团队轻松完成,他们的工作首先是担心备份和恢复。

(还要确保在备份 运行 时禁用传入推送,当然,像往常一样。)

是的,您也可以简单地 git clone,但这不会得到整个环境;也就是说,如果您正在使用 ssh 身份验证(~/.ssh/authorized_keys),您也需要获得它(如果您正在使用其他 git 服务器,例如 GitLab 或其他服务器,则更是如此)。 git 一个git clone 等不会自动获取钩子,可能还有更多。

编辑:文件系统备份当然应该包含任何与 git 相关的远程(原文如此)内容。即,完整的 /home/git(或 运行 下的任何用户 git),/var/git_repos(或您保存存储库的任何位置)等等。够了,如果您安装了一台干净安装的机器,您可以恢复所有内容,运行 只需恢复这些目录即可。