我们在服务器上安装了GitLab CE 9.1.2,计划每8:00运行一次备份。到目前为止一切都很好,但是昨天我们开始使用Wiki。我再次检查了备份文件,不知怎么的,它的大小与前一天的备份完全相同(除了创建Wiki页面之外,在系统中什么也不做)。
正因为如此,我怀疑Wiki没有包含在备份过程中,所以我打开了一个VM并尝试恢复备份文件。在成功的操作之后,我转到了项目的Wiki部分,它是空的。
我读了一些资源,他们说回购不应该是空的,因为我们的回购包含了代码、提交、分支、问题等等。我遵循了Omnibus安装的备份指令,因为这就是我们所拥有的。
0 20 * * 1-5 /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1如您所见,我没有包含任何SKIP环境变量,因此不应该跳过任何内容。我是不是遗漏了什么?我正确地遵守了指示。我需要一个完整的系统备份。
发布于 2017-06-05 14:50:56
在链接 @fedorqui中,看起来这是一个问题,在创建Wiki时缓存没有被清除,所以备份过程认为Wiki是空的,因此跳过了。
要解决这个问题,我们似乎必须自己手动刷新缓存。
sudo gitlab-rails console
p = Project.find_by_full_path 'namespace_path/project_path'
wiki = ProjectWiki.new p
wiki.repository.empty?
wiki.repository.expire_all_method_caches
wiki.repository.empty?第一次运行wiki.repository.empty?时,它将返回true,这就是备份过程跳过Wiki的原因。在运行wiki.repository.expire_all_method_caches之后,您应该可以继续运行了(我尝试过了,我们的Wiki现在正在备份)。如果您想确认一切看起来都很好,那么只需再次运行wiki.repository.empty?,它这次应该返回false。
到2017年6月5日为止,这个bug似乎还没有被修复。
更新(2017年8月22日)
GitLab CE 9.5.0已经发布(变化量g),它已经修复了此问题。如果您不想手动终止缓存,我建议您将GitLab安装升级到至少9.5.0,您应该没事。
https://stackoverflow.com/questions/44334094
复制相似问题