cron - manbetx客户端打不开备份不包括维基

标签 cron backup gitlab gitlab-omnibus gitlab-ce

我们在服务器上安装了GitLab CE 9.1.2,计划在周一至周五每8:00 PM运行一次备份。到目前为止,一切都很好,但是昨天我们开始使用Wiki。我仔细检查了备份文件,并以某种方式将其大小与前一天的备份完全相同(除了创建Wiki页面之外,系统中什么也没有做)。

因此,我怀疑备份过程中未包含Wiki,因此我打开了虚拟机并尝试还原备份文件。成功执行操作后,我转到了项目的Wiki部分,该部分为空。

我正在阅读一些资源,他们说要包含Wiki的仓库不应为空,但是我们的仓库中充满了代码,提交,分支,问题等。我按照 Omnibus 安装的备份说明进行操作,因为那是我们有什么。

0 20 * * 1-5 /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1

如您所见,我没有包含任何SKIP环境变量,因此它不应跳过任何内容。我想念什么吗?我正确地遵循了说明。我需要系统的完整备份。

最佳答案

link @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日,该错误似乎尚未修复。

更新(2017年8月22日)

GitLab CE 9.5.0已发布(changelog),它具有针对此问题的修复程序。如果您不想手动使缓存过期,我建议您将GitLab安装升级到至少v9.5.0,这应该没问题。

关于cron - manbetx客户端打不开备份不包括维基,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44334094/

相关文章:

Wordpress cron – 事件添加到队列但不触发

Gitlab 覆盖范围徽章不起作用

wordpress - 如何使用 Cron 从 GitHub 拉取然后移动到实时站点?

php - laravel 中的一次自定义 cron 计划

mysql - 操纵巨大的 MySQL 转储文件

amazon-web-services - 备份:Amazon S3或Glacier-很多小文件吗?

git - Gitlab运行程序克隆在traefik之后的超时(相对路径)

git - 如何删除 Gitlab 项目?

php - PHP 文件中的 Cron 和 SetTimeZone

php - 捕获实体状态交易