8

如果我在有人推送到存储库时使用gitlab:backup:create rake 任务进行 GitLab 备份,备份过程会受到影响吗?

在进行备份之前是否需要关闭 GitLab?

4

1 回答 1

5

任务gitlab/backup.rake本身看起来不是原子的。
它调用:

  Rake::Task["gitlab:backup:db:create"].invoke
  Rake::Task["gitlab:backup:repo:create"].invoke

使用gemactiverecord:_

    puts "Dumping database tables ... ".blue
    ActiveRecord::Base.connection.tables.each do |tbl|
    ...

与 ActiveRecord 的其他操作一样(请参阅此问题),它似乎不是全局原子操作。


等一下,几个小时前, GitLab 的主要开发人员randx (Dmitriy Zaporozhets)刚刚重构了转储数据库:

所以转储数据库的部分现在更具原子性;)
但是备份本身,包括备份裸存储库在内的其他步骤,不是原子的。

于 2013-04-05T05:47:07.510 回答