【发布时间】:2019-07-21 12:36:18
【问题描述】:
我在 Ubuntu 16 VPS 上运行 GitLab-CE,但由于一些 nginx 问题和更普遍的问题,我最终无法在我的服务器上登录 GitLab。由于无论如何我都必须擦除服务器,所以我想我只需备份 /var/opt/gitlab/git-data/repositories/ 文件夹,并希望在以后通过新的 GitLab 安装恢复这些文件夹时获得最好的结果。
以后再说吧。我现在在 Ubuntu 18.04 上安装了 GitLab-EE,即 Omnibus 版本。我将文件夹从 /var/opt/gitlab/git-data/repositories/username/ 从备份移动到新安装。这些文件夹分别命名为reponame.git 和reponame.wiki.git。我也正确设置了文件权限。
唯一明显不同的是:
用户
git属于在新服务器上创建的新 repo 上的组git,但旧的用户组root和用户git在执行
ls -al时,新创建的repo 具有以下钩子
hooks -> /opt/gitlab/embedded/service/gitlab-shell/hooks/
虽然旧的 hooks.old.1528595819/ 只有一个关于钩子的自述文件,但没有任何帮助。
在新的 GitLab 安装中恢复这些的机会有多大?我不能让hooks 成为所有这些的符号链接到/opt/gitlab/.../hooks/ 并更改所有者的组,因为这并不能让这些显示在网络界面上。
我最好的选择是什么?
【问题讨论】:
-
but I don't want to risk making anything worse with my current GitLab install但是你有可靠的备份,还是没有?如果你这样做,那么为什么这会困扰你?你破坏的东西更多,然后你恢复并重试。 -
我有一个 repos 的备份。我有 Linode 的快照。但根据经验,我知道这并不总是像恢复快照并重试那样简单。与拍摄时的情况相比,我已经恢复了一些快照。所以,如果有人知道,我宁愿得到实际的答案。如果没有,那我绝对会修补我的小心脏,看看是什么。
-
更重要的是,如果我最终恢复到快照会浪费很多时间。如果没有必要,我宁愿不要浪费时间。
-
但问题仍然存在:您为什么还要处理原始数据?为什么不在新实例上恢复并在那里玩呢?
-
我没有一堆额外的 VPS 实例来做这件事。这是一个相当简单的问题。
标签: git ubuntu gitlab gitlab-ee