GitLab 8.15.0备份恢复无法工作

3

我正在尝试将来自GitLab A的备份还原到GitLab B中。它们都在相同的版本(8.15.0)上,但当我使用以下命令进行还原时:

sudo gitlab-ctl stop sidekiq
sudo gitlab-ctl stop unicorn
sudo gitlab-rake gitlab:backup:restore BACKUP=1482434794_2016_12_22

I get the following error:

rake aborted!
TypeError: no implicit conversion of nil into String
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:122:in `exist?'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:122:in `unpack'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:32:in `block (3 levels) in <top (required)>'
/opt/gitlab/embedded/bin/bundle:22:in `load'
/opt/gitlab/embedded/bin/bundle:22:in `<main>'
Tasks: TOP => gitlab:backup:restore
(See full trace by running task with --trace)

服务器只进行了干净的安装,只创建了root用户。Git Lab正在运行,我已经运行过一次:

sudo gitlab-ctl reconfigure

我是使用Ubuntu 16.04 LTS并安装了Omnibus版本。我用的命令来进行备份是:

sudo gitlab-rake gitlab:backup:create

生成的文件如下所示:
1482434794_2016_12_22_gitlab_backup.tar

有什么我做错的地方吗?谢谢你的帮助。
2个回答

8
如果您只在/var/opt/gitlab/backups/中放置了一个备份,您可以使用命令sudo gitlab-rake gitlab:backup:restore而不需要BACKUP=1482434794_2016_12_22
在我的情况下,这很有帮助。

非常感谢。这个修复对我也有用。 - Mario Corral
这并不是真正的修复,因为这只是强制使用默认值。有人找到了指定备份并使其与特定时间戳一起工作的方法吗? - abegosum
我遇到了完全相同的问题,也是在Ubuntu 16.04上,从Ubuntu 14.04导入备份。跳过BACKUP参数使其正常工作。 - Sergiu
1
@abegosum 是的,这是一个解决方法。实际修复状态可以在[Gitlab问题#26090](https://gitlab.com/gitlab-org/gitlab-ce/issues/26090)中跟踪。 - akaDemik

2

这可能有助于阅读此帖子的其他人,我能够通过指定完整的备份文件名(而不仅仅是时间戳)来恢复我的备份。

我正在使用 gitlab-ce 8.15.4-ce.1(自包安装)和 Ubuntu 16.04

sudo gitlab-rake gitlab:backup:restore BACKUP=1484655963_2017_01_17_gitlab_backup.tar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接